Troubleshooting

Common NDI Receiver issues and how to fix them.

Source Not Discovered

Sources don’t appear in the Web UI

NDI uses mDNS (multicast DNS) for discovery. If sources aren’t showing up:

  1. Same network? — Sender and receiver must be on the same network subnet, or connected with a direct Ethernet cable. On a standard network, both devices should share the same subnet (e.g., 192.168.1.x). On a direct cable, both devices auto-assign link-local addresses (169.254.x.x) — wait ~30 seconds after plugging in

  2. Firewall — mDNS uses UDP port 5353. Allow it:

    sudo ufw allow 5353/udp
    
  3. Network switch — Some managed switches block multicast traffic by default. Enable IGMP snooping or allow multicast on the relevant VLANs

  4. Wi-Fi isolation — Some access points have “client isolation” enabled, preventing devices from seeing each other. Disable it or use Ethernet

  5. NDI SDK installed? — The NDI SDK must be available on the receiver. Run ./ndi-receiver --discover to test — if it can’t find the SDK, it will tell you

Source appears but won’t connect

  • The source may have stopped sending — check that the sending application is running
  • Try disconnecting and reconnecting from the Web UI
  • Check that no other application has exclusively claimed the NDI source

Display Issues

Screen shows logo but no video

  • The receiver is running but not connected to a source. Open the Web UI at http://ndi-receiver.local:8080 to select a source
  • If a source is configured, it may not be available yet — the receiver will auto-reconnect when it appears

No display output at all

  • Check that the display is connected and powered on
  • Verify the correct DRM connector is selected: ./ndi-receiver --discover lists connectors, or check the Web UI
  • Try specifying the connector explicitly: ./ndi-receiver --connector "HDMI-A-1"
  • Make sure no desktop environment is claiming the display — NDI Receiver needs direct DRM/KMS access. Run from a TTY (not a terminal inside a desktop)

Video is choppy or dropping frames

  • Network bandwidth: NDI 1080p needs ~125 Mbps. Use Gigabit Ethernet, not 100 Mbps
  • Wi-Fi: 5GHz is required for reliable NDI. 2.4GHz doesn’t have enough bandwidth
  • CPU load: Close other applications. Hardware video decode support is coming soon
  • Network congestion: Avoid running NDI alongside large file transfers or streaming

Audio Issues

No audio

  • Check that the NDI source is sending audio (not all sources include audio)
  • Verify the correct audio device is selected — check the Web UI or set it in the config:
    [display]
    audio_device = "HDMI"
    
  • Audio device names are matched by substring — "HDMI" will match any output with “HDMI” in the name

Audio playing on wrong output

Change the audio device in the Web UI, or specify it on the command line:

./ndi-receiver --audio-device "HDMI"

Web UI Issues

Can’t reach ndi-receiver.local

The .local address uses mDNS (Bonjour). If it doesn’t resolve:

  • macOS: mDNS works out of the box — if it’s not resolving, make sure both devices are on the same network or directly connected
  • Windows: Install Bonjour Print Services or use the IP address instead
  • Linux: Install avahi-daemon and libnss-mdns: sudo apt install avahi-daemon libnss-mdns
  • Direct cable: Wait ~30 seconds for link-local addresses to settle before trying the .local address

You can also find the receiver by browsing for it:

# From macOS
dns-sd -B _ndi._tcp

# From Linux
avahi-browse -rt _http._tcp

Can’t access the Web UI

  • Make sure the receiver is running — check with ps aux | grep ndi-receiver
  • Try both http://ndi-receiver.local:8080 and the IP address directly
  • Check the firewall: sudo ufw allow 8080/tcp
  • If you changed the port, use the custom port instead

Firewall Ports

PortProtocolPurpose
5353UDPmDNS discovery
8080TCPWeb UI (configurable)
5960-5970TCPNDI video streams (dynamic range)

For simplicity, you can allow NDI Receiver through your firewall entirely rather than managing individual ports.

Bootable Image Issues

Image won’t boot

  • Make sure you flashed to the correct drive
  • Check that your device supports booting from USB/SSD
  • Try re-flashing with Balena Etcher

Need to change settings on the image

SSH into the device and edit the config file, or use the Web UI:

ssh root@ndi-receiver.local   # password: ndi
nano /etc/ndi-receiver.toml
systemctl restart ndi-receiver

Or use the Web UI at http://ndi-receiver.local:8080.

Changing the hostname

To give your receiver a unique name (recommended when running multiple receivers):

ssh root@ndi-receiver.local   # password: ndi
hostnamectl set-hostname my-receiver
systemctl restart avahi-daemon

The receiver is now at http://my-receiver.local:8080. This persists across reboots.

Still Stuck?

Email support@donglecontrol.com with:

  • Your device hardware and Linux version
  • NDI Receiver version (./ndi-receiver --version)
  • Output of ./ndi-receiver --discover
  • What you’ve tried so far