Configuration

NDI Receiver can be configured three ways: the Web UI (easiest), a TOML config file, or command line flags. CLI flags override config file settings.

Web UI

The Web UI runs on port 8080 by default. Open it from any browser on your network:

http://ndi-receiver.local:8080

From the Web UI you can:

  • See connection status, FPS, resolution, and latency
  • Browse and connect to available NDI sources
  • Disconnect from the current source
  • Change the display connector (if your device has multiple outputs)
  • Select an audio output device

Config File

NDI Receiver uses a TOML config file for persistent settings. Create one at any path and pass it with --config:

./ndi-receiver --config /etc/ndi-receiver.toml

Example config:

# NDI source to connect to (name or partial match)
source = "DongleControl - Projector"

[web]
enabled = true
port = 8080
bind = "0.0.0.0"

[display]
backend = "drm"
connector = "HDMI-A-1"
fullscreen = true

[behavior]
auto_reconnect = true
reconnect_delay_ms = 2000

Config Reference

SectionKeyDescriptionDefault
(top)sourceNDI source name to connect to(none — auto-discover)
[web]enabledEnable the Web UItrue
[web]portWeb UI port8080
[web]bindBind address0.0.0.0
[display]backendDisplay backend: drm or headlessdrm
[display]connectorDRM connector name (e.g., HDMI-A-1, DP-4)First connected
[display]audio_deviceAudio output device (substring match)HDMI preferred
[display]fullscreenFullscreen displaytrue
[mdns]enabledAnnounce on the network via mDNStrue
[mdns]namemDNS service nameHostname
[behavior]auto_reconnectReconnect if source dropstrue
[behavior]reconnect_delay_msDelay between reconnect attempts2000
[behavior]auto_select_sourceAuto-connect to first discovered sourcefalse

Command Line Flags

# Connect to a specific source
./ndi-receiver --source "DongleControl - Projector"

# Use a specific display connector
./ndi-receiver --connector "HDMI-A-1"

# Custom web UI port
./ndi-receiver --web-port 9000

# Discover sources and exit (useful for debugging)
./ndi-receiver --discover

# Headless mode (no display output — for testing)
./ndi-receiver --headless

# Select audio output device
./ndi-receiver --audio-device "HDMI"

CLI flags always override config file values.

Display Connectors

If your device has multiple display outputs (HDMI + DisplayPort, dual HDMI, etc.), you can choose which one NDI Receiver uses.

List available connectors from the Web UI at /api/connectors, or check your system:

# Common connector names
HDMI-A-1    # First HDMI port
HDMI-A-2    # Second HDMI port
DP-1        # First DisplayPort

Set the connector in your config file, CLI flag, or the Web UI.

Keyboard Controls

If you have a keyboard connected to the receiver device:

KeyAction
Q or EscQuit NDI Receiver
Ctrl+CGraceful shutdown

Bandwidth

NDI streams use significant network bandwidth:

ResolutionApproximate Bandwidth
1080p30~125 Mbps
1080p60~250 Mbps
4K30~500 Mbps

Use Gigabit Ethernet for reliable performance. Wi-Fi (5GHz) can work for 1080p but may drop frames.