What is NDI
Posted on 25 August 2020
Network Device Interface and it is a high quality, video-over-IP standard developed by NewTek to enable video-compatible products to communicate, deliver, and receive high-definition video over a computer network ideal for live video production.
Many video projects use NDI to send and receive video over IP. NDI features an auto-discovery feature which makes managing video sources available on a network very easy; for example, a church may use NDI to send PowerPoint slides from one computer and receive them on another computer used for live streaming. Another example would be setting up a display in an office to show an NDI source coming from video production software like OBS. Any Windows or Mac computer can receive the NDI video stream and display it on a TV located in a facility.
What is an NDI camera used for?
NDI cameras often have PTZ (Pan, Tilt and Zoom) functionality which takes advantage of the two-way communication capabilities of NDI. In this way, NDI cameras can be controlled over the same single ethernet cable used to send audio and video. For example, a PTZOptics NDI camera can use a single ethernet cable to power the camera, control the PTZ functionality of the camera, and to send audio and video to a source on the network.
What is the difference between NDI and SDI?
SDI is a technology that has been around for decades. SDI stands for Serial Digital Interface, and the cable itself is capable of sending uncompressed video long distances. NDI is a much newer technology that uses the latest video compression methods to make sending and receiving high-quality video possible over standard computer networks. An SDI camera video feed can be converted into an NDI stream and sent over the network. An NDI video feed can also be converted into an SDI video output and plugged into a monitor.
What is OBS NDI?
OBS, which stands for Open Broadcaster Software, is a free, open-source video production software available at OBSProejct.com. OBS is the world’s most popular live-streaming software and it is supported by a worldwide network of developers. Palakis is a developer who has created a plugin for OBS which supports NDI. This plugin is available for both Mac and PC versions of OBS and it adds simple support for audio/video inputs and outputs over IP inside of OBS. This allows OBS users to add NDI sources into OBS just like any source. It also allows OBS to transmit the main program video via NDI to other systems and finally provides a special OBS filter which can be used to output any OBS source via NDI.
How do I set up an NDI camera?
Most NDI cameras are plug and play when it comes to setup. NDI cameras can be plugged into any LAN (Local Area Network) and configured to operate with any software or hardware solution that supports NDI. Once an NDI camera is plugged into the network, it will show up as an available source on your network; therefore, the friendly NDI name that you give your camera will show up in any software or hardware solution when you click the “add NDI source” option.
You can watch the TeleDelta NDI camera setup video to learn more about this process.
That’s it for this back to the basic video. Don’t forget to subscribe to learn more about video production. You won’t become a video production expert overnight and following along with our team could be a useful tool for you.
NDI bandwidth requirement
The required bandwidth for NDI transmission will vary, depending on resolution and frame rate. The NDI encoding algorithm itself is resolution and frame-rate independent, and supports resolutions up to 4K and beyond. With its high-end performance over standard GigE networks, it makes it possible to transition facilities to an incredibly versatile IP video production pipeline without negating existing investments in SDI cameras and infrastructure, or costly new high-speed network infrastructures.
How efficient is NDI in video compression?
NDI uses compression to enable transmission of video streams in the network.
According to NewTek, NDI is one of the most efficient codecs in existence.
“NDI achieves significantly better compression than the majority of codecs that have been accepted for professional broadcast use. On a typical, modern Intel-based i7 processor, the codec is able to compress a 1920×1080 video signal at 250 frames per second using a single core.
The peak signal-to-noise ratio (PSNR) of the NDI codec exceeds 70dB for typical video content. Uniquely, and importantly, NDI is the first-ever codec to provide multi-generational stability. This means that once a video signal is compressed, there is no further loss.
NDI has a technical latency of 16 video scan lines, although in practice, most implementations would be one field of latency.”
NDI Formats
NDI supports all resolutions, frame rates and video streams, with and without alpha channel.The most common implementations are expected to utilize 8-bit UYVY and RGBA video, however, support for 10-bit and 16-bit is available. The internal pipeline of the codec is maintained entirely at 16-bit or better.
How do you add NDI to your network?
NDI works on standard IP based networks, where the requirements to make specialized configuration is close to zero. This is because the NDI-enabled devices behave like any other device connected to the network.
While the NDI integration is designed to be as painless as possible, there are some important elements to know what NDI does. The following part is taken from the NewTek documentation “Adding NDI to your network”:
- NDI uses mDNS for automatic discovery and registration of devices on a network
- NDI will deliver the IP address and ports of source devices to destinations via a broadcast response
- The mDNS Ethernet frame is a multicast packet that broadcasts to IPv4 address 224.0.0.251 and utilizes UDP port 5353
- NDI implementations released prior to October 2016 may only have automatic discovery available as an option
- NDI includes a messaging server to allow for direct discovery
- The NDI messaging server utilizes TCP port 5960
- NDI video streams commence on port 5961, with subsequent ports assigned sequentially based on the total number of NDI streams available on a system