NDI Discovery Server in Ubuntu

Create an AWS instance.

  • t2.medium

  • Use defaults

  • Ubuntu 20.04 LTS (or 22.04 LTS)

  • Associate an EIP public IP

  • Connect to the CLI

Download NDI SDK.

  • Go to: https://www.ndi.tv/sdk/

  • Download the NDI SDK from NDI site to your PC.

  • In NDI Instance Linux CLI create NDI directory in /home/ubuntu

  • scp the NDI SDK to /home/ubuntu/NDI

  • unarchive the NDI SDK: sudo tar -xf Install_NDI_SDK_v5_Linux.tar.gz

    • Note: version (v5) may change according to what is current NDI SDK

  • make the unarchived .sh file executable:

    • sudo chmod +x Install_NDI_SDK_v5_Linux.sh

  • run: sudo ./ Install_NDI_SDK_v5_Linux.sh

  • The script creates a directory: ’NDI SDK for Linux’

    • Rename /home/ubuntu/NDI/’NDI SDK for Linux’ to ndi-sdk

    • mv /home/ubuntu/NDI/’NDI SDK for Linux’ /home/ubuntu/NDI/ndi-sdk

ndi-sdk

Create a systemd Service to Run the NDI Discovery Server in the Background and Restart on Boot.

  • cd /etc/systemd/system/

  • Create a new file where you will define the NDI Discovery service:

  • sudo nano ndi-discovery.service

  • Write the following in the file:

cd bin

Note: Make sure that the directories in the above script are correct. These may change in different NDI versions so check the /home/ubuntu/NDI… directories.

Save the file and quit.

A json file must be created to configure the discovery server.

  • In directory /home/ubuntu/NDI/ndi-sdk/bin/

  • Create file as shown below: sudo nano /home/ubuntu/NDI/ndi-sdk/bin/ndi-config-v5.json

  • Insert the public address of the NDI Discovery server, between the “ “

  • Example:
    “discovery”: “<public IP>” becomes "discovery": "52.44.134.94" or whatever your public IP is

{
  "ndi": {
    "send": {},
    "recv": {
      "enable": true
    }
  },
  "groups": {
    "send": "Public,",
    "recv": "Public,"
  },
  "unicast": {
    "send": {},
    "recv": {
      "enable": true
    }
  },
  "networks": {
    "ips": "",
    "discovery": "<public IP>"
  },
  "multicast": {
    "send": {
      "ttl": 10,
      "enable": true,
      "netmask": "255.255.0.0",
      "netprefix": "239.255.0.0"
    },
    "recv": {}
  }
}

Reload systemctl files.

  • sudo systemctl daemon-reload

Start the NDI Discovery Service.

  • sudo systemctl start ndi-discovery.service

Check the service status.

  • sudo systemctl status ndi-discovery.service

Enable the Discovery Service

  • sudo systemctl enable ndi-discovery.service

Reboot the machine (or instance).

  • sudo reboot

Check the status of the NDI Discovery Service.

  • The Discovery service waits 30 seconds after boot to start.'

  • sudo systemctl status ndi-discovery.service

All of the directories in /home/ubuntu/NDI/ndi-sdk/bin can be removed except x86_64-linux-gnu.

Link to assistance with the NDI Access Manager.

Link for more information on the NDI Discovery Server.