NDI Stream Discovery

NDI uses the mDNS (Bonjour / Zeroconf) discovery mechanism to create a zero-configuration environment for discovery of NDI streams available on the LAN. Through mDNS, devices such as the Zixi Broadcaster can discover available NDI streams for processing. The mDNS (Bonjour / Zeroconf) discovery mechanism should be installed as required according to the system's OS, as described in the OS Support section.

This means that there are different requirements depending on the type deployment:

  • Using NDI within a local area network – on a local area network NDI will use the discovery mechanism to advertise the sources and Zixi Broadcaster will automatically discover these streams, while listing them in the Stream parameter of the NDI input stream. 

  • Using NDI in the cloud – to make the streams discoverable in the cloud, you need to deploy an NDI Discovery Server and configure the NDI plug-in with the settings included in the following example:

{ "ndi": { "groups": { "recv": "\"public\"", "send": "\"public\"" }, "multicast": { "recv": { "enable": false, "subnets": "" }, "send": { "enable": false, "netmask": "255.255.255.0", "netprefix": "239.192.136.100" } }, "networks": { "discovery": "22.127.94.57", "ips": "" }, "tcp": { "recv": { "enable": false }, "send": { "enable": false } }, "unicast": { "recv": { "enable": false }, "send": { "enable": false } } } }

 

OS Support

The use of mDNS requires operating system support as follows:

  • Windows - Windows 10 has mDNS support built in, which is necessary for any NDI applications running on Windows.

  • CentOS 7 - The recommended platform for the Zixi Broadcaster is CentOS 7. mDNS support is provided by the Avahi package which typically is not installed by default on CentOS 7.

To install Avahi, run the following commands on the server hosting the Zixi Broadcaster:

# sudo yum install avahi  # sudo service avahi-daemon start

 

Enabling Multicast Network Support

The mDNS Ethernet frame is a multicast UDP packet that broadcasts to:

  • MAC address 01:00:5E:00:00:FB(for IPv4)

  • IPv4 address 224.0.0.251

  • UDP port 5353

You need to verify that the LAN where NDI streams are present is multicast enabled and that all systems needing access to NDI streams, such as the Zixi Broadcaster, do not block mDNS via their firewall.

NDI config file location

  • On Windows: %PROGRAMDATA%\NewTek\NDI\ndi-config.v1.json

  • On Linux: $HOME/.newtek/ndi-config.v1.json

On Linux the NDI config files should be placed in the home directory of the user which Broadcaster is running as root. Thus, the file must be located at /root/.newtek/ndi-config.v1.json

Specifying the NDI Discovery Server

To specify NDI Discovery Server:

  1. Open ndi-config.v1.json.

  2. In the "networks" section, under "discovery" add the discovery server’s IP, which is the address of a host where NDI Discovery Server is working.
    For example, if you have it working on 192.168.0.253, then your config will have this section:

    "networks": {"ips": "","discovery": "192.168.0.253"},