NDI (Network Device Interface) is a streaming protocol developed by Newtek suited for broadcasting. Brainstorm uses NDI in many virtual productions created with our products InfinitySet and/or Edison Pro.
Our main purpose in AdMiRe was to take advantage of the wide range of videoconferencing systems that use NDI to send or receive streams, like Microsoft Teams, Skype or OBS, amongst others. The AdMiRe’s streaming application, MediaHub, now supports NDI which make possible to send the streams of the audience captured to any application that also supports NDI. The image below displays how the Media Hub streams a WebRTC call to NDI and how this stream is rendered using the Studio Monitor application from the NDI Tools.
Technically speaking, the integration of NDI in the MediaHub application has been developed by means of Go bindings to the NDI libraries provided by the SDK. These bindings serve as an API to the MediaHub application that indirectly calls NDI functions which grant streaming functionalities like for example creating an NDI sender.
The WebRTC streams, received through the Internet by the MediaHub, have a variable resolution, while NDI streams are handled locally in the studio premises network where bandwidth is not a compromise anymore. For this reason, NDI does not compress the stream, and for this reason too, no matter the received video stream resolution, when converting to NDI the resolution is updated and resized to high definition.