Content deleted Content added
m review: formatting and engvar consistency |
|||
(46 intermediate revisions by 19 users not shown) | |||
Line 7:
{{Use British English|date=October 2022}}
'''Network Device Interface
==Technology==
NDI is designed to run over [[gigabit Ethernet]]<ref>{{cite web|url=https://www.provideocoalition.com/newtek-announces-ndi-an-open-protocol-for-ip-production-workflow/|title=NewTek announces NDI, an open protocol for IP production workflow by Allan Tépper|first=ProVideo|last=Coalition|date=8 September 2015}}</ref> with the NDI codec.<ref>{{cite web|url=http://support.newtek.com/hc/en-us/articles/218109667-NDI-Encoding-Decoding|title=NDI Encoding/Decoding|website=NewTek Knowledge Base}}</ref> It
By default, NDI uses
NDI carries video, [[Surround sound|multichannel]] [[uncompressed audio]],{{Citation needed|date=September 2020|reason=Please link to an official source verifying this claim}} and [[metadata]].
The NDI [[software development kit]] (SDK) is available for [[
==Comparison of common IP video protocols==
Other IP video protocols for use in professional video production (rather than IP video used for distribution to [[end user]]s) include [[SMPTE 2022]], [[SMPTE 2110]], ASPEN (largely superseded by SMPTE 2110) and [[Sony]] NMI. There are clear differences in the technology used by these protocols.
{| class="wikitable"
|-
Line 31:
! ASPEN<ref>{{cite web|url=http://aspen-community.com|title=ASPEN Community - Home|website=aspen-community.com}}</ref>
! NMI<ref>{{cite web|url=http://www.sony.co.uk/pro/press/sony-pr-ibc-2014-networked-media-interface|title=Sony launches Networked Media Interface in collaboration with leading broadcast industry organisations : Press : United Kingdom : Sony Professional|website=Sony.co.uk|access-date=2017-03-21|archive-date=2017-03-22|archive-url=https://web.archive.org/web/20170322111456/http://www.sony.co.uk/pro/press/sony-pr-ibc-2014-networked-media-interface|url-status=dead}}</ref>
! CDI<ref>{{cite web|url=https://aws.amazon.com/media-services/resources/cdi/|title=Cloud Digital Interface|website=aws.amazon.com}}</ref>
|-
! Developed by
| [[NewTek]]
| [[NewTek]]
| [[NewTek]]
| [[SMPTE]]
| [[Video Services Forum|VSF]] and [[SMPTE]]
| ASPEN Community
| [[Sony]]
| [[AWS]]
|-
! Transport
Line 44 ⟶ 54:
|-
! Image format
| Size
| Size
| Size
| SDI Formats only
| Size
|
|
Line 100 ⟶ 110:
| SMPTE 2110-22 spec.([[JPEG XS]], but not limited to)
| NONE
| NONE
| NONE
|-
! Connection
| Socket, Unicast
| Unicast
| Socket, Unicast
| Multicast
| Multicast
| Multicast
| Multicast
| SRD
|-
! HD (1080i) data rate
| ~{{nowrap|100
|
| ~
| {{nowrap|>1.5
| {{nowrap|>1.1
| {{nowrap|>1.5
| {{nowrap|>1.5
| {{nowrap|>1.5
|-
! Essence packing
Line 134 ⟶ 144:
|-
! Infrastructure
| Gigabit
| Gigabit
| Gigabit
| 10 GBit minimum
| 10 GBit minimum
| 10 GBit minimum
| Gigabit
| 100GBit EFA
|-
! Service Discovery
Line 162 ⟶ 172:
| SMPTE RDD
| OPEN SOURCE
|}
{{notelist-ua|refs=
{{efn-ua|name=TICO|The TICO RDD35 codec can be used to compress UHD by 4:1 so an encoded stream can be carried along a [[SMPTE 2022]]-6 channel at the same uncompressed bandwidth as HD.<ref>{{cite web|url=http://www.tico-alliance.org/technology.html|title=TICO Alliance - Technology|website=www.tico-alliance.org}}</ref> SMPTE 2110 with TR-03 also offers the potential to use TICO RDD35 and JPEG XS.<ref>{{cite web|url=https://standards.globalspec.com/std/10013902/smpte-rdd-35|title=SMPTE RDD 35 - TICO Lightweight Codec Used in IP Networked or in SDI Infrastructures - Engineering360|website=standards.globalspec.com}}</ref> This requires a proprietary encoder and decoder which are generally implemented as silicon on each end.}}
Line 171 ⟶ 181:
==History==
NDI was publicly revealed by NewTek on 8 September 2015 and was demonstrated at the
NewTek had previously created a predecessor of NDI called AirSend to get video from external devices into their TriCaster products. AirSend had been implemented by a number of [[character generator]] (CG) vendors including [[Vizrt]] and [[ChyronHego|Chyron]]. In order to quickly bring these products into the NDI space, NewTek created a new driver to replace the existing AirSend driver, which could be installed on these existing AirSend-compatible devices, instantly converting them to NDI-compatible devices with no change required by the original CG vendors.<ref>{{cite web|url=http://pages.newtek.com/NDI-Upgrader-Download.html|title=NDI AirSend Updater-NewTek|website=pages.newtek.com}}</ref>
BirdDog was an early adopter and in 2018
Another early adopter of NDI was [[VMix]], a Windows-based vision mixer
Later in 2016, NewTek delivered NDI 2.0, which added features including support for service discovery across subnets. In April, Magewell announced
On 12 July 2017 NewTek announced NDI 3.0 which added multicast, NDI{{!}}HX and other new features, introducing support for specific PTZ Cameras with [[H.264]] [[
In April 2018 at the [[NAB Show]], Microsoft announced they had added NDI support to [[Skype|Skype for Content Creators]].<ref name="blogs.skype.com">{{cite web|url=https://blogs.skype.com/news/2018/04/06/make-collaboration-the-heart-of-your-live-streams-podcasts-and-videos-with-skype-for-content-creators/|title=Make collaboration the heart of your live streams, podcasts, and videos with Skype for Content Creators|date=6 April 2018|website=Skype Blogs}}</ref> Other announcements at
Version 3.4 of [[FFmpeg]] added input and output support for NDI when optionally compiled by the end-user to a non-open-source NewTek library.<ref>{{cite web|url=https://www.newtek.com/blog/ffmpeg-3-4-adds-ndi-io/|title=FFmpeg 3.4 Adds NDI I/O|first=Chuck|last=Baker|publisher=NewTek|date=December 6, 2017}}</ref> However, NewTek was later found to be redistributing pre-compiled binaries of FFmpeg that incorporated their non-
In April 2019, ahead of NAB, NewTek announced the addition of Multi-TCP mode to NDI 4.0 which
In July 2021, NDI 5
{| class="wikitable"
|-
! Version !! Released !! Features
|-
| 1.0|| April 2016 || Initial Release
Line 199 ⟶ 209:
| 2.0|| Sept 2016 || Cross subnet support via Access Manager, ARM encoding support, iOS SDK
|-
| 3.0|| July 2017 || NDI-HX support, Option for multicast transport with FEC, PTZ support
|-
| 3.5|| June 2018 || Defaults to Unicast UDP transport method with FEC
|-
| 3.6|| July 2018 || Packet level bonding improvements
|-
| 3.7|| Sept 2018 || Discovery improvements
|-
| 3.8|| Nov 2018 || Performance Enhancements, NDI Embedded SDK for FPGA development
|-
| 4.0|| Sept 2019 || Multi-TCP Transport mode, HDR 16-bit support, Native synchronized recording, Discovery Server, NDI HX2<ref name="nab2019plans"/>
|-
| 4.1|| Nov 2019 || Performance improvements
|-
| 4.5|| March 2020 || New Multi-TCP implementation, Lower latency with NDI-HX, Predictable port numbers for firewall rules, Improvements to codec quality
|-
| 4.6|| Nov 2020 || Can support NDI-HX2 encoding on PC's using NVENC
|-
| 5.0|| July 2021 || Reliable UDP transmission, Redundant discovery server support, NDI 5 Tools (Bridge, Remote, Audio Direct, FCP-X output)
|-
| 5.1|| Feb 2022 || NDI Bridge enhancements, DNS name support for Discovery Server, SDK improvements
|-
| 5.5|| Aug 2022 || NDI Router, Quad Inputs on NDI Webcam Input with 4K video support, NDI Remote adds Talkback and desktop sharing features, Auto start applications on system boot, NDI FreeAudio command line tool (found with SDK)
|
| 6.0|| Apr 2024 || Added specification for NDI HDR metadata, Improved support for 16-bit colour formats, NDI Bridge Utility for Linux, NDI-KVM support for Video Monitor on macOS, NDI Router for macOS, NDI Studio Monitor on Windows enhanced with HDR support for display and recording
|-
|6.1
|Dec 2024
|NDI Bridge improvements, NDI Bridge service, 16-bit colour formats available in FPGA platforms, dynamic bandwidth adjustment API in NDI Advanced SDK
|}<!--[[User:Kvng/RTH]]-->
==Use in Wi-Fi and wide area networks==
NDI was designed to work on good quality [[Gigabit Ethernet|gigabit local area networks]] using TCP and Bonjour ([[
Some NDI adopters have run the protocol across [[Fiber-optic communication|fibre]] connections up to 15 km, although NDI's use of the TCP protocol makes it less suitable for long-distance, [[Network latency|high-latency]] connections due to factors such as [[bandwidth-delay product]] and [[Transmission Control Protocol|TCP packet loss recovery]].<ref>{{cite web|url=http://westreamu.se/2016/05/09/documentary-stockholm-kista-cross-production-using-ndi-over-fiber/|title=Documentary: Stockholm Kista cross production using NDI over fiber|first=Richard|last=Gatarski|date=9 May 2016|website=Weststreamu.se}}</ref> Later versions of NDI introduced different transport protocols including UDP, MultiTCP and reliable UDP ([[QUIC]]) which offer different network characteristics. NDI|HX uses a lower data rate making it easier to use in bandwidth-limited connections.
==Use in cloud-based infrastructure==
NDI is also used within [[cloud-based]] production systems, with its compressed video and unicast transmissions making it suitable for cloud-based services like [[AWS]] and [[Microsoft Azure|Azure]]. When operating in cloud environments, the NDI Discovery service provides a solution to multicast restrictions common to cloud platforms. Starting with NDI 5, the Bridge tool allows you to connect remote locations together be it over open Internet or via a VPN. NDI Bridge allows you use NDI-HX2 at selectable bitrates and codec types (H.264 or [[HEVC]]) as the transmission format between locations (High Bandwidth NDI transmission is also possible), all other aspects of the NDI signal are preserved (metadata, alpha, tally, etc).
==CPU architecture support==
NDI, when running on [[x86]] or [[x86-64]] [[CPU Architecture|architectures]], requires CPUs that include the [[SSSE3]] instruction set. Most [[Intel]] CPU designs starting in 2006 have this instruction set, AMD added support starting in 2011. While not a requirement, NDI will take advantage of [[Advanced Vector Extensions]] (AVX) and [[AVX2]]
NDI can run on [[32-bit]] or [[64-bit]] CPU architectures, although performance is increased when using 64-bit.
NDI 4.x and earlier had limited support for [[ARM architecture family|ARM]], generally offering encode-only support. The release of NDI 5 brings full support for encode and decode on ARM-based processors that include [[Neon (instruction set)|Neon instructions]]. This includes [[Apple silicon
NDI|HX devices are typically transmit-only and based on proprietary platforms with hardware H.264 encoder chips. Examples of NDI|HX devices are [[Pan–tilt–zoom camera|PTZ cameras]], and the NDI Connect Spark SDI to NDI|HX converter box. The NDI stream itself is formed at the stream consumption end via the platform-specific NDI|HX driver, presenting the same uncompressed data to the [[application software]] consuming the NDI source regardless of original HX source hardware and compression. NDI|HX2 is a purer implementation, supporting either H.264 or HEVC compression, and allows for additional NDI features.
With NDI 4.0 NewTek announced the addition of a ''Multi-TCP'' transport mode. This takes advantage of the hardware [[
==Metadata and extensions to the NDI specification==
Line 248 ⟶ 264:
# Internal metadata used by NDI invisibly. These messages are used for connectivity and some other fundamental tasks like Tally. They are typically invisible to NDI clients.
# Defined public metadata. These messages include things like the NDI PTZ Protocol. They are defined by NewTek as part of the NDI SDK.
# Third-party metadata schemas. These messages are implemented in the same way as defined NDI metadata but the content is based on third-party designs.<ref>{{cite web |url=http://www.sienna-tv.com/ndi/ndimetadatastandards.html |title=NDI Metadata Standards |access-date=2023-09-27 |publisher=Sienna}}</ref><ref>[https://ndis.software/ NDIS Software]</ref>
==References==
|