{"id":50128854,"url":"https://github.com/keijiro/KlakNDI","last_synced_at":"2026-07-14T21:01:18.901Z","repository":{"id":37548728,"uuid":"128081466","full_name":"keijiro/KlakNDI","owner":"keijiro","description":"NDI® plugin for Unity","archived":false,"fork":false,"pushed_at":"2025-12-07T06:41:00.000Z","size":61837,"stargazers_count":909,"open_issues_count":26,"forks_count":148,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-05-29T09:35:49.562Z","etag":null,"topics":["ndi","plugin","unity","unity3d"],"latest_commit_sha":null,"homepage":"https://ndi.video","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keijiro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2018-04-04T15:20:23.000Z","updated_at":"2026-05-18T02:26:28.000Z","dependencies_parsed_at":"2024-06-14T10:41:17.301Z","dependency_job_id":null,"html_url":"https://github.com/keijiro/KlakNDI","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/keijiro/KlakNDI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakNDI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakNDI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakNDI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakNDI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keijiro","download_url":"https://codeload.github.com/keijiro/KlakNDI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakNDI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35478764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-14T02:00:06.603Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ndi","plugin","unity","unity3d"],"created_at":"2026-05-23T21:00:29.532Z","updated_at":"2026-07-14T21:01:18.895Z","avatar_url":"https://github.com/keijiro.png","language":"C#","funding_links":[],"categories":["C# #"],"sub_categories":[],"readme":"KlakNDI\n=======\n\n![gif](https://i.imgur.com/I1ZMSY8.gif)\n\n**KlakNDI** is a Unity plugin that allows for sending and receiving video\nstreams between multiple devices using [NDI]®.\n\n[NDI]® (Network Device Interface) is a standard developed by [Vizrt] that\nenables applications to deliver video streams over a local area network. Please\nrefer to [ndi.video][NDI] for more information about the technology.\n\n[NDI]: https://ndi.video/\n[Vizrt]: https://www.vizrt.com\n\nSystem Requirements\n-------------------\n\n- Unity 2022.3 or later\n\nDesktop platforms:\n\n- Windows: x64, D3D11/D3D12\n- macOS: x64 or arm64 (M1), Metal\n- Linux: x64, Vulkan\n\nMobile platforms:\n\n- iOS: arm64, Metal\n- Android: arm64, Vulkan/OpenGL ES 3.x\n\nKlakNDI runs without the NDI SDK on most supported platforms, but the iOS\nplatform requires the SDK for building with Xcode. Please download and install\nthe NDI SDK for iOS in advance of building.\n\nKlakNDI requires network permissions on Android. Please follow the instruction\nin [Android Support section].\n\n[Android Support section]: README.md#android-support\n\nLicense\n-------\n\nThe NDI library files are provided under the terms of the [NDI SDK license].\nPlease review it before using the package in your project.\n\n[NDI SDK license]: http://ndi.link/ndisdk_license\n\nKnown Issues and Limitations\n----------------------------\n\n- Dimensions of frame images should be multiples of 16x8. This limitation causes\n  glitches on several mobile devices when using the Game View capture method.\n\n- KlakNDI doesn't support audio streaming. There are several technical\n  difficulties to implement without perceptible noise or delay, so there are no\n  plans to implement it.\n\nHow To Install\n--------------\n\nThe KlakNDI package (`jp.keijiro.klak.ndi`) can be installed via the \"Keijiro\"\nscoped registry using Package Manager. To add the registry to your project,\nplease follow [these instructions].\n\n[these instructions]:\n  https://gist.github.com/keijiro/f8c7e8ff29bfe63d86b888901b82644c\n\nNDI Sender Component\n--------------------\n\n![send](https://user-images.githubusercontent.com/343936/134309035-aa5be91f-098b-4352-a49f-0c2d4f49f5b0.png)\n\nThe **NDI Sender** component (`NdiSender`) sends a video stream from a given\nvideo source.\n\n**NDI Name** - Specify the name of the NDI endpoint (only available in the\nCamera/Texture capture method).\n\n**Keep Alpha** - Enable this checkbox to make the stream contain the alpha\nchannel. You can disable it to reduce the bandwidth.\n\n**Capture Method** - Specify how to capture the video source from the following\noptions:\n\n  - Game View - The sender captures frames from the Game View.\n  - Camera - The sender captures frames from a given camera. This method only\n    supports URP and HDRP.\n  - Texture - The sender captures frames from a texture asset. You can also use\n    a render texture with this option.\n\nYou can attach metadata using the C# `.metadata` property.\n\nNDI Receiver Component\n----------------------\n\n![recv](https://user-images.githubusercontent.com/343936/134309054-8c25ed46-263c-4041-b331-aefc3e0e6107.png)\n\nThe **NDI Receiver** component (`NdiReceiver`) receives a video stream and\nfeeds it to a renderer object or a render texture asset.\n\n**NDI Name** - Specify the name of the NDI source. You can edit the text field\nor use the selector to choose a name from currently available NDI sources.\n\n**Target Texture** - The receiver copies the received frames into this render\ntexture asset.\n\n**Target Renderer** - The receiver overrides a texture property of the given\nrenderer.\n\nYou can extract metadata using the C# `.metadata` property.\n\nTips for Scripting\n------------------\n\nYou can enumerate currently available NDI sources using the NDI Finder class\n(`NdiFinder`). See the [Source Selector] example for usage.\n\n[Source Selector]: URP/Assets/Script/SourceSelector.cs\n\nYou can instantiate the NDI Sender/Receiver component from a script but at\nthe same time, you have to set an NDI Resources asset (`NdiResources.asset`).\nSee the [Sender Benchmark]/[Receiver Benchmark] examples for details.\n\n[Sender Benchmark]: URP/Assets/Script/SenderBenchmark.cs\n[Receiver Benchmark]: URP/Assets/Script/ReceiverBenchmark.cs\n\nAndroid Support\n---------------\n\nKlakNDI requires the following permissions when running on Android:\n\n- `android.permission.INTERNET`\n- `android.permission.ACCESS_NETWORK_STATE`\n- `android.permission.CHANGE_WIFI_MULTICAST_STATE`\n\nYou can add them by [overriding the App Manifest]. Please refer to the\n[AndroidManifest file] contained in the URP sample.\n\n[overriding the App Manifest]:\n  https://docs.unity3d.com/Manual/overriding-android-manifest.html\n[AndroidManifest file]: URP/Assets/Plugins/Android/AndroidManifest.xml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FKlakNDI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeijiro%2FKlakNDI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FKlakNDI/lists"}