npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jp.keijiro.klak.ndi

v2.1.3

Published

NewTek NDI® plugin for Unity

Downloads

8,661

Readme

KlakNDI

gif

KlakNDI is a Unity plugin that allows for sending and receiving video streams between multiple devices using NDI®.

NDI® (Network Device Interface) is a standard developed by Vizrt that enables applications to deliver video streams over a local area network. Please refer to ndi.video for more information about the technology.

System Requirements

  • Unity 2022.3 or later

Desktop platforms:

  • Windows: x64, D3D11/D3D12
  • macOS: x64 or arm64 (M1), Metal
  • Linux: x64, Vulkan

Mobile platforms:

  • iOS: arm64, Metal
  • Android: arm64, Vulkan/OpenGL ES 3.x

KlakNDI runs without the NDI SDK on most supported platforms, but the iOS platform requires the SDK for building with Xcode. Please download and install the NDI SDK for iOS in advance of building.

KlakNDI requires network permissions on Android. Please follow the instruction in Android Support section.

License

The NDI library files are provided under the terms of the NDI SDK license. Please review it before using the package in your project.

Known Issues and Limitations

  • Dimensions of frame images should be multiples of 16x8. This limitation causes glitches on several mobile devices when using the Game View capture method.

  • KlakNDI doesn't support audio streaming. There are several technical difficulties to implement without perceptible noise or delay, so there are no plans to implement it.

How To Install

This package uses the scoped registry feature to resolve package dependencies. Open the Package Manager page in the Project Settings window and add the following entry to the Scoped Registries list:

  • Name: Keijiro
  • URL: https://registry.npmjs.com
  • Scope: jp.keijiro

Scoped Registry

Now you can install the package from My Registries page in the Package Manager window.

My Registries

NDI Sender Component

send

The NDI Sender component (NdiSender) sends a video stream from a given video source.

NDI Name - Specify the name of the NDI endpoint (only available in the Camera/Texture capture method).

Keep Alpha - Enable this checkbox to make the stream contain the alpha channel. You can disable it to reduce the bandwidth.

Capture Method - Specify how to capture the video source from the following options:

  • Game View - The sender captures frames from the Game View.
  • Camera - The sender captures frames from a given camera. This method only supports URP and HDRP.
  • Texture - The sender captures frames from a texture asset. You can also use a render texture with this option.

You can attach metadata using the C# .metadata property.

NDI Receiver Component

recv

The NDI Receiver component (NdiReceiver) receives a video stream and feeds it to a renderer object or a render texture asset.

NDI Name - Specify the name of the NDI source. You can edit the text field or use the selector to choose a name from currently available NDI sources.

Target Texture - The receiver copies the received frames into this render texture asset.

Target Renderer - The receiver overrides a texture property of the given renderer.

You can extract metadata using the C# .metadata property.

Tips for Scripting

You can enumerate currently available NDI sources using the NDI Finder class (NdiFinder). See the Source Selector example for usage.

You can instantiate the NDI Sender/Receiver component from a script but at the same time, you have to set an NDI Resources asset (NdiResources.asset). See the Sender Benchmark/Receiver Benchmark examples for details.

Android Support

KlakNDI requires the following permissions when running on Android:

  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.CHANGE_WIFI_MULTICAST_STATE

You can add them by overriding the App Manifest. Please refer to the AndroidManifest file contained in the URP sample.