Technical Facts About NDI Audio

Codecs

NDI is essentially codec-agnostic, meaning it is compatible with various codecs. Officially, it supports PCM, AAC, and Opus for audio.

Channel Count

An individual NDI stream can transport multiple audio channels. The number of channels supported depends on the codec used. PCM allows unlimited channels; in NDI, AAC can support 2 channels, while Opus can support up to 255 channels.

Multiple audio channels are multiplexed into a single NDI stream to maintain synchronization.

Sampling

NDI Audio supports any sample rate; the standard for live production is 48 kHz.

Quantization

The audio processing in NDI is 32-bit floating point, Internally, the processing is handled as 32-bit. On the sending side of NDI, APIs are available to accept audio in various formats, which are then converted to floating-point.

Latency

Currently, NDI technology does not allow for latencies similar to those offered by technologies such as Aes67, Ravenna, or Dante Audio. However, an NDI audio transmitter is capable of delivering a stream over the network in 6 ms. This latency might not be acceptable for some cases such as where a captured audio source, like a microphone, is simultaneously listened to in the same environment. Still, there are many use cases where this amount of latency may be acceptable.

Synchronization

The NDI protocol does not employ PTP-based clock synchronization internally, although it may be possible to employ external PTP synchronization software that's available on the market. NDI delivers all sent audio samples exactly and they can be captured to storage without loss, or if they need to be retimed at the receiver for real-time playback or processing, they will be resampled with high quality to adjust for small clock rate differences that may exist between the sender and receiver.

For some use cases such as driving line array loudspeakers or multitrack recording, clock synchronization between endpoints for sample-accurate synchronization between outputs is essential and protocols like Dante or Ravenna would be recommended. However, NDI audio is suited for a vast number of other use cases for networked audio.

Also note, there are scenarios where PTP-based clock synchronization is difficult or impossible to implement, and NDI is an excellent solution. This is because PTP is a multicast protocol, and clock synchronization using PTP also requires tight hardware integration. NDI has the advantage of being a pure software implementation that can run without multicast, making it suitable for functioning in environments like the cloud or across WANs or the Internet, where multicast is not available.

It's important to remember that, unlike other technologies, NDI allows for creating multichannel streams in which all audio channels are multiplexed while maintaining synchronization between them.

Last updated