NDI

Network Device Interface (NDI) is a high performance standard that allows anyone to use real time video on existing IP video networks.

In this chapter, we will go through the steps required to send or receive video via NDI.

Receiving NDI

Setup in Devices window

In order to create a device, right-click on the Devices window and choose Ndi Receiver.

NDI primarily sends/receives texture, but you can check additional settings in checkboxes, for example, check MetaData if you wish to send/receive metadata.

At the moment NDI audio sending/receiving is not supported.

Extra IPs parameter can be used to add more addresses for machines from which you wish to discover NDI sources. Parameter Group is used to filter who can see the specific stream. If, for example, the sender specifies a group name, then the receiver on the other end needs to specify the same group name in order to see the stream name by clicking on the Refresh list button. Choose the stream by clicking on a radio button and check Listen checkbox in order to start the stream.

Setup in the Layouts window

In order to use data from Ndi Receiver device node, we have to create Reference node in Layer Layouts.

If you are receiving a Texture through the Ndi Receiver device node, you can also see it on a Layer Layout by simply connecting the Reference node with a Get Texture node.

Sending NDI

Setup in Devices window

In order to create a device, right-click on the Layer Layouts window and choose Ndi Sender.

If you wish to send MetaData, you can check it under the Stream collapsible header. If Clock video is checked, then added video frames will be rate-limited to match the current framerate they are submitted at. Enter the Group name if you wish to send frames to the specific group of receivers.

At the moment NDI audio sending/receiving is not supported.

Setup in the Layouts window

In order to use data from Ndi Sender device node, we have to create Reference node in Layer Layouts.

It is also possible to change properties in Ndi Receiver device node from the Layer Layouts. For that case you can use Set Ndi Stream layer node. Just fill the stream parameters you wish to change during run-time and when boolean input Streaming receives True value, then parameters will be updated.

Sending and receiving video frames

We will now combine 2 setups from previous paragraphs and we will simulate sending and receiving video frames.

Let's set the texture for sending and at the same time we will render the received texture to the canvas.

Last updated