Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

NDI® plugin for Unity

License

NotificationsYou must be signed in to change notification settings

keijiro/KlakNDI

Repository files navigation

gif

KlakNDI is a Unity plugin that allows for sending and receiving videostreams between multiple devices usingNDI®.

NDI® (Network Device Interface) is a standard developed byVizrt thatenables applications to deliver video streams over a local area network. Pleaserefer tondi.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 iOSplatform requires the SDK for building with Xcode. Please download and installthe NDI SDK for iOS in advance of building.

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

License

The NDI library files are provided under the terms of theNDI 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 causesglitches on several mobile devices when using the Game View capture method.

  • KlakNDI doesn't support audio streaming. There are several technicaldifficulties to implement without perceptible noise or delay, so there are noplans to implement it.

How To Install

The KlakNDI package (jp.keijiro.klak.ndi) can be installed via the "Keijiro"scoped registry using Package Manager. To add the registry to your project,please followthese instructions.

NDI Sender Component

send

TheNDI Sender component (NdiSender) sends a video stream from a givenvideo source.

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

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

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

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

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

NDI Receiver Component

recv

TheNDI Receiver component (NdiReceiver) receives a video stream andfeeds it to a renderer object or a render texture asset.

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

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

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

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 theSource Selector example for usage.

You can instantiate the NDI Sender/Receiver component from a script but atthe same time, you have to set an NDI Resources asset (NdiResources.asset).See theSender 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 byoverriding the App Manifest. Please refer to theAndroidManifest file contained in the URP sample.


[8]ページ先頭

©2009-2025 Movatter.jp