• Stars
    star
    674
  • Rank 66,980 (Top 2 %)
  • Language
    C#
  • License
    Other
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

NewTek NDIâ„¢ plugin for Unity

KlakNDI

gif

KlakNDI is a Unity plugin that allows sending/receiving video streams between several devices using NDI®.

NDI® (Network Device Interface) is a standard developed by NewTek, Inc that enables applications to deliver video streams via a local area network. Please refer to ndi.tv for further information about the technology.

System Requirements

  • Unity 2021.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

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

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 is no plan 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.

More Repositories

1

AICommand

ChatGPT integration with Unity Editor
C#
3,520
star
2

Skinner

Special Effects with Skinned Mesh in Unity
C#
2,963
star
3

KinoGlitch

Video glitch effects for Unity
C#
2,256
star
4

AIShader

ChatGPT-powered shader generator for Unity
C#
1,916
star
5

Klak

Creative coding library for Unity
C#
1,753
star
6

Kino

A collection of custom post processing effects for Unity
C#
1,715
star
7

Voxelman

Unity ECS + C# Job System example
C#
1,504
star
8

Lasp

Low-latency Audio Signal Processing plugin for Unity
C#
1,369
star
9

Pcx

Point cloud importer & renderer for Unity
C#
1,187
star
10

TestbedHDRP

Testbed project for Unity HDRP (High Definition Render Pipeline)
ShaderLab
1,157
star
11

KvantSpray

Object instancing/particle animation system for Unity
C#
1,151
star
12

ShaderGraphExamples

Simple examples of Unity shader graphs.
C#
1,082
star
13

NoiseShader

Noise shader library for Unity
HLSL
1,019
star
14

Pix2Pix

Real-time pix2pix implementation with Unity
C#
1,013
star
15

Reaktion

Audio reactive animation toolkit for Unity
C#
983
star
16

Smrvfx

Skinned mesh sampling with VFX Graph
961
star
17

KinoBloom

Bloom effect for Unity
C#
898
star
18

StableFluids

A straightforward GPU implementation of Jos Stam's "Stable Fluids" on Unity.
C#
880
star
19

FFmpegOut

Video capture plugin for Unity with FFmpeg.
C#
869
star
20

KinoFog

Global fog effect for Unity
C#
842
star
21

PuppetTest

An experiment in procedural dance animation
C#
823
star
22

SdfVfxSamples

Unity VFX Graph samples with SDF (signed distance field)
733
star
23

HdrpVatExample

VAT (Vertex Animation Texture) with Unity Shader Graph and Visual Effect Graph
HLSL
730
star
24

Retro3D

A shader that imitates low grade 3D graphics.
C#
715
star
25

Rsvfx

An example that shows how to connect RealSense depth camera to Unity VFX Graph
C#
699
star
26

MidiJack

MIDI input plugin for Unity
C#
665
star
27

Swarm

An example of use of compute shaders and procedural instancing.
C#
643
star
28

KinoMotion

Motion blur post-processing effect for Unity
C#
624
star
29

ShaderSketches

KodeLife shader sketches I wrote while commuting
GLSL
600
star
30

KlakSpout

Spout plugin for Unity
C++
557
star
31

Firefly

Unity ECS example for special effects
C#
546
star
32

LaspVfx

Audio reactive Unity VFX with LASP
C#
529
star
33

Akvfx

Azure Kinect plugin for Unity VFX Graph
C#
517
star
34

KvantWig

Non-realistic hair simulation in Unity
C#
515
star
35

UnitySkyboxShaders

Custom skybox shaders
JavaScript
515
star
36

KvantGrass

Animating grass shader for Unity
C#
498
star
37

TimelineParticleControl

An example of controlling particle system from timeline.
C#
496
star
38

MiniEngineAO

SSAO image effect from Microsoft MiniEngine, ported to Unity.
C#
496
star
39

Minis

Minis: MIDI Input for New Input System -- A plugin that adds MIDI input support to Unity's new Input System
C#
486
star
40

SkeletalGeometricEffects

Experiments on geometry shader instancing with skeletal animations
HLSL
472
star
41

UnityMLStableDiffusion

Core ML Stable Diffusion on Unity
C#
469
star
42

BibcamVfx

AR VFX samples with Bibcam (burnt-in barcode metadata camera)
C#
469
star
43

RippleEffect

Water surface ripple effect for Unity
C#
466
star
44

KinoContour

Contour line filter for Unity
C#
462
star
45

Flipbook

Flip book effect example for Unity
C#
456
star
46

CloudSkybox

Skybox shader with volumetric clouds
C#
442
star
47

OscJack

Lightweight C# implementation of OSC server/client
C#
438
star
48

DepthInverseProjection

An example showing how to inverse-project depth samples into the view/world space in Unity.
ShaderLab
431
star
49

HandPoseBarracuda

Hand and finger tracking solution (MediaPipe Hands) for Unity Barracuda
C#
423
star
50

Bibcam

Burnt-in barcode metadata camera
C#
419
star
51

FaceMeshBarracuda

Lightweight facial capture package for Unity
C#
416
star
52

KinoAqua

Watercolor effect for Unity URP/HDRP
C#
410
star
53

Retro3DPipeline

A minimal example of a custom render pipeline with the Retro3D shader.
C#
405
star
54

unity-dither4444

AssetPostProcessor for making high-quality 16-bit color textures in Unity.
C#
402
star
55

SonarFx

Sonar effect for Unity
C#
398
star
56

MidiAnimationTrack

SMF (.mid) file importer for Unity Timeline
C#
388
star
57

SkyboxPlus

Basic skybox extensions for Unity
C#
383
star
58

CosineGradient

Cosine gradient generator for Unity
C#
374
star
59

KinoBokeh

Depth of field effect for Unity
C#
373
star
60

ProceduralMotionTrack

Simple procedural motion with Unity Timeline.
C#
369
star
61

Rcam2

Remote depth camera with iPad Pro with LiDAR sensor
C#
367
star
62

AsyncCaptureTest

Non-blocking screen capture example with asynchronous GPU readback
C#
366
star
63

KvantSwarm

Flowing line renderer for Unity
C#
354
star
64

ShadowDrawer

Shadow matte shader for Unity
ShaderLab
354
star
65

StandardGeometryShader

An example of a geometry shader with Unity's standard lighting model support.
HLSL
349
star
66

KvantStream

A simple GPU particle system for Unity
C#
343
star
67

PerlinNoise

1D/2D/3D Perlin noise function for Unity
C#
340
star
68

GeoVfx

Examples of geographical data visualization with Unity VFX Graph
C#
333
star
69

ComputeMarchingCubes

[Unity] GPU-optimized marching cubes isosurface reconstruction
C#
322
star
70

Metamesh

Unity primitive mesh generator as an asset importer
C#
312
star
71

Ngx

Ngx - Neural network based visual generator and mixer
C#
311
star
72

KvantWall

GPU accelerated object array animator for Unity
C#
311
star
73

VfxGraphTestbed

My testbed for Unity VFX Graph
HLSL
311
star
74

KlakHap

HAP video player plugin for Unity
C++
309
star
75

StandardTriplanar

Unity's standard shader with triplanar mapping
ShaderLab
303
star
76

WfcMaze

WFC (Wave Function Collapse) with Unity
C#
295
star
77

RDSystem

Reaction-diffusion system with CustomRenderTexture.
C#
294
star
78

NoiseBall

Mesh deforming shader example (Unity)
C#
291
star
79

Prisma

Pepper's ghost live visuals for VRDG #4
C#
285
star
80

KvantLattice

A GPU accelerated fractal terrain renderer for Unity
C#
281
star
81

ChromaPack

ChromaPack -- A lossy texture compression plugin for Unity.
C#
277
star
82

Cloner

An example of use of procedural instancing.
C#
277
star
83

VideoPlayerEffects

Experimental special effects for VideoPlayer (Unity 5.6 new feature)
C#
275
star
84

NoiseBall2

A small example of procedural modeling with compute shaders.
C#
269
star
85

PostProcessingUtilities

Utility scripts for the post processing stack
C#
263
star
86

Metatex

Metadata-only texture importer for Unity
C#
261
star
87

ContactShadows

Experimental implementation of contact shadows for Unity.
C#
257
star
88

ColorSuite

Multifunctional color adjustment plugin for Unity.
C#
257
star
89

UnityDxrTest

A testbed project for Unity real-time ray tracing features
C#
256
star
90

NNCam

Virtual background with Unity Barracuda
C#
229
star
91

VfxPyro

Fireworks particle effect with Unity VFX Graph
C#
228
star
92

Dkvfx

An example that shows how to use recorded Depthkit footage with Unity VFX Graph
C#
226
star
93

CrossFadingLod

(Unity) Cross-fading LOD shader example
ShaderLab
225
star
94

Boids

Flocking behavior simulation (Unity)
C#
224
star
95

MoonAndEarth

Moon and Earth assets for Unity
C#
223
star
96

KinoBinary

Binary image effect for Unity
C#
220
star
97

UnityAnime4K

Anime4K upscaler for Unity
HLSL
216
star
98

VideolabTest

OP-Z videolab examples
ShaderLab
209
star
99

GVoxelizer

HLSL
206
star
100

KlakSyphon

Syphon plugin for Unity
Objective-C
203
star