Network Device Interface: Difference between revisions

Content deleted Content added
m I fixed small grammar mistake.
m unpiped links using script
Line 10:
 
==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 is expected to deliver [[1080i]] [[High-definition video|HD video]] at [[Variable bitrate|VBR]] data rates typically around 100&nbsp;Mbit/s.<ref>{{cite web|url=https://support.newtek.com/hc/en-us/articles/217662708-NDI-Network-Bandwidth|title=NDI Network Bandwidth|website=NewTek Knowledge Base}}</ref>
 
By default, NDI uses the [[mDNS]] ([[Bonjour (software)|Bonjour]] / [[Zeroconf]]) discovery mechanism to advertise sources on a [[local area network]], such that NDI receiving devices can automatically discover and offer those sources. It also supports 2 other discovery modes (NDI Access, NDI Discovery Server) that allow for operations across [[subnet]]s and without mDNS. Sources are created using an arbitrarily selected [[Transmission Control Protocol|TCP]] [[Port (computer networking)|port]] from a range of ports on the NDI send host. When a source is requested, a TCP connection is established on the appropriate port with the NDI receiver connecting to the NDI sender. NDI 3.x has options to use [[User Datagram Protocol|UDP]] [[multicast]] or [[unicast]] with [[forward error correction]] (FEC) instead of TCP, and can [[Load balancing (computing)|load balance]] streams across multiple [[network interface controller]]s (NICs) without using [[link aggregation]]. The release of NDI version 4.0 introduces the 'Multi-TCP' transport.
Line 16:
NDI carries video, multichannel [[uncompressed audio]],{{Citation needed|date=September 2020|reason=Please link to an official source verifying this claim}} and [[metadata]]. Metadata messages can be sent in both directions allowing the sender and receiver to message one another over the connection with arbitrary metadata in [[XML]] form.<ref>{{cite web|url=http://www.content-technology.com/standards/?p=578|title=NewTek Announces NDI – Open Protocol for IP Production Workflow - Technical Standards|website=Content-technology.com}}</ref> This directional metadata system allows for functionality such as active [[Tally light|tally information]] fed back to sources to understand that they are on-air (program / preview). NDI also allows senders to determine the number of connected receivers, so they can skip unnecessary processing and network bandwidth utilisation when there are no NDI receiver clients connected. NDI Receivers can opt to connect to various combinations of streams, to support things like audio-only or metadata-only connections where video is not required.
 
The NDI [[software development kit]] (SDK) is available for [[Microsoft Windows|Windows]], [[Linux]], and [[MacOS]],<ref>{{cite web|url=https://www.newtek.com/ndi/sdk/|title=NewTek NDI SDK|website=Newtek.com}}</ref> and has also been ported to [[iOS]], [[tvOS]], [[Android (operating system)|Android]], [[Raspberry Pi]], and [[Field-programmable gate array|FPGA]]. The Standard NDI SDK is available via a royalty-free [[Proprietary_software|proprietary]] license.<ref>{{cite web |title=NDI® license agreement |url=http://new.tk/ndisdk_license/ |website=new.tk |accessdate=3 June 2020}}</ref> The NDI Advanced SDK offers OEMs direct access to and from compressed data and other features, with a commercial license.
 
==Comparison of common IP video protocols==
Line 190:
Another early adopter of NDI was [[VMix]], a Windows-based vision mixer which offers NDI inputs and outputs.<ref>{{cite web|url=https://www.thebroadcastbridge.com/content/entry/5589/studiocoast-vmix-adopts-newtek-ndi-standard|title=StudioCoast vMix Adopts NewTek NDI Standard - The Broadcast Bridge - Connecting IT to Broadcast|first=The Broadcast|last=Bridge|website=Thebroadcastbridge.com| date=18 April 2016 }}</ref> A significant increase in the NDI installed base came when live-streaming application [[XSplit]] added support for NDI.<ref>{{cite web|url=http://www.marketwired.com/press-release/xsplit-broadcaster-adopts-newtek-ndi-for-ip-production-workflow-2114230.htm |title=XSplit Broadcaster Adopts NewTek NDI for IP Production Workflow |website=Marketwired.com |date=2016-04-12 |accessdate=2017-05-23}}</ref>
 
Later in 2016, NewTek delivered NDI 2.0 which added features including support for service discovery across subnets. In April, Magewell announced seamless integration of their [[PCI Express|PCIe]] and [[USB]] capture devices, allowing access to any video source on the network. This solution created one of the most efficient broadcast video production scenarios possible with unlimited source choice and ubiquitous operating system compatibility.{{fact|date=July 2023}}
 
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]] [[Chipset|chipsetschipset]]s and updated [[firmware]].<ref name="newtek.com">{{cite web|url=https://www.newtek.com/press-releases/ndi-v3/|title=NewTek NDI® Version 3 Offers the Only End-to-End IP Video Solution for Product Manufacturers|website=NewTek}}</ref>
 
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 NAB2018 included NDI 3.5, and new NDI support from vendors including EVS<ref name="sportsvideo.org">{{cite web|url=https://www.sportsvideo.org/2017/09/05/evs-x-one-production-system-takes-software-based-tech-to-new-level/|title=EVS X-One Production System Takes Software-Based Tech to New Level|first=Ken Kerschbaumer, Editorial|last=Director|website=Sports Video Group| date=5 September 2017 }}</ref> and Avid.<ref name="https://www.newtek.com/blog/avid">{{Cite web | url=https://www.newtek.com/blog/avid/ | title=Avid Media Composer Integrates NewTek NDI®}}</ref>
Line 238:
 
==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 ([[Multicast DNS|mDNS]]) technologies. In order to work across subnets that don't pass mDNS, NDI supports a mechanism known as NDI Access which allows manual entry of the [[IP address]] of machines on other subnets which may be running NDI sources.
 
Some NDI adopters have run the protocol across [[Fiber-optic communication|fibre]] connections up to 15&nbsp;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 computing|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 [[High Efficiency Video Coding|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]] instruction sets for additional performance.
 
NDI can run on [[32-bit computing|32-bit]] or [[64-bit computing|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|Apple Silicon]] processors.
 
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 [[TCP Acceleration|TCP acceleration]] in silicon which helps lower-spec processors handle heavy network load, in contrast to UDP which does not benefit from the hardware acceleration.<ref>{{Cite web | url=https://www.tvtechnology.com/news/newteks-andrew-cross-talks-about-the-acquisition-discusses-nab-show-plans |title = NewTek's Andrew Cross Discusses Acquisition, NAB Show Plans| date=3 April 2019 }}</ref>
 
==Metadata and extensions to the NDI specification==