Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
By default, To allow NDI stream discovery you can use one of the following options:
mDNS Multicast Discovery
NDI Discovery Server
Configuring NDI stream discovery using mDNS Multicast Discovery
NDI uses the mDNS (Bonjour / Zeroconf) discovery mechanism to advertise sources on a local area network, such that the NDI receiving device, which in this case is Zixi Broadcaster, can automatically discover and offer those sourcescreate 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:
Code Block | ||
---|---|---|
| ||
{
"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
}
}
}
}
|
Anchor | ||||
---|---|---|---|---|
|
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:
Code Block |
---|
# 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:
NDI config file location
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.
Configuring NDI stream discovery using NDI Discovery Server
The configuration process requires modifying the NDI Config File with the relevant settings, as explained below and placing the new file in the relevant location on the server.
To configure the NDI Config File:
Locate the NDI Config File:
On Windows: %PROGRAMDATA%\NewTek\NDI\ndi-config.v1.json
On Linux: $HOME/.newtek/ndi-config.v1.json
/.newtek/ndi-config.v1.json
Specifying the NDI Discovery Server
To specify NDI Discovery Server:Open ndi-config.v1.json.
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:Code Block language bash "networks": {"ips": "","discovery": "192.168.0.253"},
Set the Unicast setting to ‘true’.
Code Block "unicast": { "recv": { "enable": true }, "send": { "enable": true }
Set the TCP setting to ‘true’.
Code Block "tcp": { "recv": { "enable": true }, "send": { "enable": true }
Save the Config File.
If using Linux, place the edited Config File 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.
Restart the zixibc service.
Code Block # systemctl stop zixibc # systemctl start zixibc
Config File Configuration Example:
Code Block | ||
---|---|---|
| ||
{
"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": true
},
"send": {
"enable": true
}
},
"unicast": {
"recv": {
"enable": true
},
"send": {
"enable": true
}
}
}
}
|