You have two machines. One runs the generative piece, one drives the projector in the next room. You could run a long HDMI cable with an extender, buy a capture card, or hire SDI.
Or you could put both on a gigabit switch and let one send video to the other as a network stream. That is NDI — Network Device Interface — and it is the quiet backbone of a lot of installation work.
What it is, and what it is not
NDI carries video, audio, alpha and metadata over IP on a local network. Two properties make it worth learning:
- Automatic discovery. A sender announces itself; receivers see it in a list as
MACHINE-NAME (Source Name). No addresses to type. - Low latency, visually lossless. A frame or so, at a bitrate you can actually fit on gigabit.
What it is not: a way to get video across the internet, or a reason to skip cabling. It is a LAN protocol and it assumes a competent LAN.
This is the complement to Spout and Syphon, which share textures between applications on one machine with zero copy. Same machine: Spout/Syphon. Different machines: NDI.
The two flavours, and which one you want
This distinction causes more confusion than anything else in NDI, so get it straight before you buy hardware.
| Full NDI | NDI HX | |
|---|---|---|
| Codec | NDI’s own, intra-frame | H.264 / H.265, inter-frame |
| Bitrate at 1080p60 | ~125 Mbps | ~8–20 Mbps |
| Latency | ~1 frame | Higher, variable |
| Re-encoding cost | Low | Accumulates |
| Typical source | Software, pro converters | PTZ cameras, cheap encoders |
For an installation, you want full NDI wherever you can get it. HX exists so a camera can run over a thin link; its inter-frame compression means latency you cannot fully control and artefacts that compound if the stream is re-encoded downstream. If a product says “NDI” on the box, check which one.
The bitrate column is the number to plan around. Full NDI at 1080p60 is roughly 125 Mbps. Gigabit is 1000 Mbps. That is about six or seven streams per gigabit link before you are in trouble, and the switch backplane has to carry all of them at once.
Build the network first
Four rules, in order of how badly they bite.
1. Wired only. No Wi-Fi. Not “Wi-Fi 6 is probably fine.” NDI’s bitrate and jitter sensitivity make wireless a guarantee of dropped frames, and an installation that fails intermittently on opening night is worse than one that fails in testing. If a device must be wireless, use NDI HX and accept the latency.
2. Use a managed switch, or at least a competent unmanaged one. NDI discovery uses mDNS (multicast). Many consumer routers handle multicast badly or helpfully “optimise” it away. A cheap managed switch with IGMP snooping that you can actually configure is worth more than a fast one you cannot.
3. One subnet, one switch, static or reserved addresses. Discovery across subnets requires an NDI Discovery Server, which is a thing you can run but not a thing you want to debug at 2am. Keep every NDI device on one flat subnet. Give each machine a reserved address so that logs and troubleshooting mean something.
4. Separate the NDI network from everything else. A second NIC per machine, or a VLAN. The failure you are avoiding is a software update downloading itself at 400 Mbps during a show.
Getting a stream out
Most tools in this space send NDI natively or with a free plugin.
- TouchDesigner —
NDI OutTOP for sending,NDI InTOP for receiving. Name the output something you will recognise in a list of twelve. - OBS — the DistroAV plugin (formerly obs-ndi) adds an NDI output and an NDI source.
- Resolume, VDMX, Isadora, Notch, MadMapper, QLab — all have NDI input; most have output.
- Unreal and Unity — plugins exist for both.
- NDI Tools — the free bundle from the protocol’s owners.
Screen Capturesends a desktop or window;Studio Monitorreceives and displays full screen;Test Patternssends bars.
Test Patterns plus Studio Monitor is your network test. Before you install any creative software on the show machines, confirm that a test pattern generated on machine A appears on machine B. If that does not work, nothing downstream will.
Naming and documentation
An NDI source is identified as MACHINE-NAME (Source Name). Both halves are yours to set, and on a ten-source show they are the difference between a five-minute patch and an hour.
Name machines by function, not by whimsy: GEN-01, PROJ-NORTH, MEDIA-FOYER. Name sources by content: main-out, mask, preview. Then write the lot on a sheet of paper and tape it inside the rack door, because the person fixing this in six months will not have your laptop.
Alpha, and audio
NDI carries an alpha channel, which is genuinely useful: you can send a key from one machine and composite it on another without a fill-and-key pair of cables. Both ends have to be set to a format that includes alpha — this is a setting people forget, and the symptom is a black background where you expected transparency.
Audio travels in the same stream, which is a mixed blessing. It is convenient for a single-source piece and a liability in a multichannel installation, where you almost certainly want audio on its own path with its own clock. Decide deliberately rather than by default.
When NDI is the wrong answer
Be honest about the limits:
- Same machine? Use Spout or Syphon. NDI will work and will cost you an encode/decode round trip for nothing.
- Need frame-exact genlock across outputs? NDI is not a sync protocol. Use one machine with multiple outputs, or proper genlocked hardware.
- 4K60 on multiple streams? Full NDI at 4K60 is roughly four times the 1080p60 figure. Do the arithmetic before you promise it; 10 GbE or fewer streams.
- Across buildings or over the internet? Not this. Look at SRT or a dedicated transport.
A sane commissioning order
- Switch, cables, static addresses. Ping everything from everything.
Test Patterns→Studio Monitor, machine to machine. Confirm.- Add one real source. Watch it for an hour, not a minute.
- Add the remaining sources one at a time, checking total bitrate against your link budget as you go.
- Only then wire it into show control and start cueing.
The reason for that order is that NDI problems are almost always network problems, and network problems are far easier to find when there is exactly one new variable. Half the installations that “have an NDI issue” have a multicast issue, and most of the rest have a Wi-Fi bridge somebody forgot to mention.
Sources
- NDI — official site
- Unofficial Guide to NDI Course, Video #1 — StreamGeeks
- NDI: Capture Video Over Your Network with Free Software — Lon.TV
- DistroAV — NDI integration for OBS Studio