Dewb / ndi-mod

norns system mod to share screen via the NDI streaming video standard
MIT License
11 stars 0 forks source link

ndi-mod for norns

a norns mod to share the contents of the LCD screen in near-real-time via the NDI streaming video protocol.

(acrostic by infinitedigits)

(takt by itsyourbedtime)

(nydl by sixolet)

why ndi / why not ndi?

NDI is fast, and includes zeroconf-based discovery of stream sources. Many popular streaming and video art tools support discovering and receiving NDI streams, including OBS Studio*, Resolume, and Max/MSP/Jitter*, and Touch Designer.

(* requires a plugin)

Using NDI's standard latency mode, a stream over a local wi-fi network is about a frame behind the norns screen. So far, in informal testing with a Pi CM3+ factory norns, using this mod appears to increase the CPU load by just 1-2%. When using clients like OBS that support NDI's optional low-latency mode, the network update can be almost simultaneous with the norns screen update.

One disadvantage of NDI is that it's not a completely open, unencumbered standard (but it is at least royalty-free.)

Alternatives to NDI include RTMP, HLS, or SRT; those may be better for certain purposes and the general structure of this mod could be adapted to other protocols.

how to use

installing and activating

  1. From the maiden console, enter:
    ;install https://github.com/Dewb/ndi-mod/releases/download/latest/ndi-mod.zip
  2. In the norns menu, navigate to to SYSTEM > MODS, scroll to NDI-MOD, and turn enc 3 clockwise to add a + next to the mod name. Hit button 2 to back out, and select SYSTEM > RESTART to relaunch with the mod loaded.

This will add about 3MB of files to ~/dust/code/ndi-mod. To uninstall everything, disable the mod by reversing the above process, then SYSTEM > RESTART again. Then, go to the maiden library, scroll to ndi-mod in the installed section, and click remove.

documentation

license and copyright

NDI is a trademark of NewTek and the NDI SDK is copyrighted by NewTek. It is included here under the terms of the NDI SDK License Agreement. The NDI source headers are licensed with The MIT License.

The rest of this repo is also licensed under The MIT License. This software is provided as-is, without warranty of any kind, use at your own risk.