# Table of Contents - [What is NDI? | Docs and Guides](#what-is-ndi-docs-and-guides) - [SDK | Docs and Guides](#sdk-docs-and-guides) - [Discovery Service | Docs and Guides](#discovery-service-docs-and-guides) - [Discovery & Registration | Docs and Guides](#discovery-registration-docs-and-guides) - [NDI Tools | Docs and Guides](#ndi-tools-docs-and-guides) - [mDNS | Docs and Guides](#mdns-docs-and-guides) - [NDI Related Network Ports | Docs and Guides](#ndi-related-network-ports-docs-and-guides) - [Manual Connection | Docs and Guides](#manual-connection-docs-and-guides) - [NDI Groups | Docs and Guides](#ndi-groups-docs-and-guides) - [NDI High Bandwidth based on SpeedHQ7 (8bit 4:2:2:4) | Docs and Guides](#ndi-high-bandwidth-based-on-speedhq7-8bit-4-2-2-4-docs-and-guides) - [Docs & Guides | Docs and Guides](#docs-guides-docs-and-guides) - [NDI Protocols | Docs and Guides](#ndi-protocols-docs-and-guides) - [Getting video across the network | Docs and Guides](#getting-video-across-the-network-docs-and-guides) --- # What is NDI? | Docs and Guides [NextRelease Notes](/all/getting-started/release-notes) Last updated 2 months ago Was this helpful? [](#introduction-to-ndi) Introduction to NDI ------------------------------------------------- **NDI** stands for **Network Device Interface**. It is a widely adopted video connectivity standard based on proprietary IP networking specifications. NDI enables multimedia systems to identify and communicate with one another over IP and to encode, transmit, and receive many streams of high-quality, low latency, frame-accurate video and audio, and exchange metadata in real-time. NDI operates bi-directionally, with many streams on a shared connection. Its encoding algorithm is resolution and frame-rate-independent, supporting 4K resolutions and beyond, along with unlimited floating-point audio channels and custom metadata. NDI can be integrated and/or supported by any network-connected product, including video cameras, graphics systems, video mixers, capture cards, multimedia players, video editing applications, and many other devices and software. NDI _is not_ a codec. NDI supports many different video codecs, like our proprietary SpeedHQ, found on the NDI High Bandwidth format, [AVC (H.264)](https://en.wikipedia.org/wiki/Advanced_Video_Coding) and [HEVC (H.265)](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) , found on the NDI HX formats. Different NDI formats correspond to specifications related to codecs supported, bandwidth spending, glass-to-glass latency, and image quality. [](#the-vision-of-ndi) The vision of NDI --------------------------------------------- ### [](#manifesto) _**Manifesto**_ _**Video**_ _has transported images, information, ideas, and stories for over a century._ _And over the last decade, we've been working behind cameras to push the envelope every time someone presses record. With each innovation, we've helped bring partners, creators, and users closer to the future of video._ _Now,_ _**the future of video is here**__. The little red dot is everywhere. Video is not just moving images anymore. It's transferring data. More than something we consume, video generates new ideas and businesses every day. It's not how we transport experiences. Video is the experience:_ _From a_ _**state-of-the-art overseas production**_ _to the_ _**room of a gaming streamer**__;_ _from a_ _**smart network of traffic flow analysis**_ _to the most_ _**challenging remote surgeries**__;_ _from an_ _**auction with thousands of bidders on social media**_ _to a_ _**parent calming their baby through a monitor.**_ _As video evolves, it unveils a common thread connecting all these new use cases and exciting possibilities._ _**One breakthrough that redefines video**__:_ **We believe there is no video without connection.** Looking into the next steps of video-based industries, you find innovation and the rise of new use cases everywhere: video production going remote, collaborative, virtual, cloud-based, and AI, all at the same time; video streaming is growing with no limits, and live e-commerce is establishing itself as one of the main formats of e-commerce; a very big percentage of IoT is built using video, which is becoming the ultimate sensor for humans and machines.​; many specialized use cases are becoming more common in surveillance, monitoring, smart cities, or hybrid learning and work. The future of video is one in which content is transferred easily and efficiently via the Internet Protocol (IP). This global network will largely supplant and become far too decentralized and open-ended for current industry-specific connection formats like HDMI, SDI, etc., in any type of video workflow or production pipeline. This is the next iteration of the world of video, audio, and media: _a connected global environment that contains all devices, technologies, services, and businesses based on creating, sharing, coordinating, and consuming media, either by humans or machines.​_ **NDI is the technology connecting it.** [](#the-value-of-ndi) The value of NDI ------------------------------------------- ### [](#the-current-limitations) The current limitations to connectivity When we think about video connectivity, it’s natural to consider the ever-expanding possibilities, more options, and unlimited potential. But the fact is that, as with all technology-driven revolutions, the existing way of doing things still presents more limitations than we would like: ### [](#ndi-is-removing-the-limits-of-video-connectivity) NDI is removing the limits of video connectivity. **For these reasons and many more, NDI enables effectively transitioning any setup, workflow, or production into an incredibly versatile IP video pipeline, offering backward compatibility with the existing infrastructure and devices.** * * * ### [](#learn-more-at-ndi.video) **Learn more at** [**ndi.video**](https://ndi.video/tech) 🟣 **Limitations in ​equipment and budget​** Currently, the number and quality of connections are very dependent on cost, available cables, infrastructure, and bandwidth. **Complexity and need for specialized expertise** Most connectivity solutions require networking expertise to set up and troubleshoot. They struggle to provide a simple, user-friendly experienc **Too many working connectivity protocols** There can be many protocols in the same workflow, requiring a lot of conversion and understanding of different technologies. Alternatively, some products only operate in closed ecosystems. **High efficiency** We develop the most advanced video connectivity formats; and allow productions to scale without scaling costs.​ **Plug & play** We guarantee that any NDI-enabled product is easy to operate, even without networking knowledge, and always works seamlessly.​ **Interoperability** We unlock complete connectivity with a growing ecosystem of NDI-enabled and compatible devices; and NDI is the only protocol you’ll need.​ [![Logo](https://ndi.video/wp-content/uploads/2023/04/Vector.svg?w=192)NDI - Interoperable Technology For Video ConnectionsNDI](https://ndi.video/tech) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252Fg2oMIbYa0xia4Dln9Hym%252Fimage.png%3Falt%3Dmedia%26token%3Df5c33901-c387-4b03-8764-ebe48a332404&width=768&dpr=4&quality=100&sign=3c9bda35&sv=2) ![NDI logo animation](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FLCCN46QSE0sy4XcWlLjp%252FNDI%2520Black%2520Logo%2520Alpha%2520720p.gif%3Falt%3Dmedia%26token%3D36b47890-0778-48b3-9e65-824750b94646&width=768&dpr=4&quality=100&sign=c2761ce3&sv=2) ![Branded visual showcasing the essence of NDI, our biggest belief: There is no video without connection.](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FWbE7OzuBHiOIyu2R2Qf2%252Fvision.jpg%3Falt%3Dmedia%26token%3D5cad6e74-f6b9-4564-850f-ec0ac673873d&width=768&dpr=4&quality=100&sign=b45e2a72&sv=2) --- # SDK | Docs and Guides This documentation refers to the **NDI SDK**, which is open to use and explore, and available only for software. If you're looking to integrate the full features and potential of our connectivity tech into both software and hardware, including support for our most advanced codecs, and maximum personalization of all connection settings, you should [**request NDI Advanced**](https://ndi.video/tech) . This documentation is paramount for developers and integrators seeking to consistently embed the full potential of NDI technology into their products. This comprehensive guide aims to provide a clear roadmap to understanding and implementing NDI within your applications, systems, and workflows. Whether you're a seasoned developer or a newcomer to NDI, it will empower you to seamlessly leverage the capabilities of NDI, enabling your products to seamlessly connect with other NDI-enabled products and transmit high-quality, low-latency video and audio over IP networks. From setup and configuration to advanced usage scenarios, this SDK documentation is your go-to resource to unlock our connectivity tech, facilitating innovation and efficiency across a broad spectrum of applications. This documentation is continuously updated to match the most recent version of our Core Technology. Currently, we are offering **NDI 6**. You can check the most meaningful updates in our [release notes](/all/developing-with-ndi/utilities/unreal-engine-sdk/release-notes) Read our [**White Paper**](/all/getting-started/white-paper) if you'd like to know more about the vision of NDI and our technology's fundamental features, protocols, and settings. [PreviousIntroduction](/all/developing-with-ndi/introduction) [NextRelease Notes](/all/developing-with-ndi/sdk/release-notes) Last updated 3 months ago Was this helpful? 📂 --- # Discovery Service | Docs and Guides Last updated 3 months ago Was this helpful? NDI Discovery server is a command line application available for Windows, MacOS, and Linux. The NDI Discovery service is designed to allow you to replace the automatic discovery NDI uses with a server that operates as a centralized registry of NDI sources. This can be very helpful for installations where you wish to avoid having significant mDNS traffic for a large number of sources. It can also be useful when multicast is not possible or desirable; it is very common for cloud computing services not to allow multicast traffic. When using the Discovery service, NDI can operate entirely in unicast mode and thus in almost any installation. The Discovery server supports all NDI functionality, including NDI groups. Clients should be configured to connect with the Discovery service instead of using mDNS to locate sources. When there is a Discovery server, NDI applications will use both mDNS and the Discovery server to find and receive sources on the local network that are not on machines configured to use discovery. For senders, if a Discovery service is specified, then mDNS will not be used; these sources will only be visible to other finders and receivers configured to use the Discovery server. #### [](#to-configure-the-discovery-service-for-ndi-clients-you-may-use-access-manager-included-in-the-ndi-to) To configure the Discovery service for NDI clients, **you may use Access Manager (included in the NDI Tools Core Suite)** to enter the IP address of the Discovery server machine. **Within NDI version 5, there is full support for redundant NDI Discovery servers.** When configuring a Discovery server, it is possible to specify a comma-delimited list of servers (e.g., “`192.168.10.10, 192.168.10.12`”), and then they will all be used simultaneously. If one of these servers then goes down, as long as one remains active, then all sources will always remain visible, no matter what the others do, then all sources can be seen. This multiple-server capability can also be used to ensure entirely separate servers to allow sources to be broken into separate groups, which can serve many workflows or security needs. Once two NDI devices have discovered each other on the network, video can be passed from the sending device to the receiving device. After the compression of the video, the NDI sending device opens a session to the receiving NDI device. At this point, we have two endpoints that consist of an IP address and a port number. In Windows and MacOS, the Discovery Server addresses are configured in the **Advanced Feature Tab.** On Linux, however, the addresses of the NDI Discovery Servers can be manually added in the NDI configuration file, which is stored in a hidden folder named ".ndi" within the home directory of the effective user. The configuration file is named "ndi-config.v1.json". Here is the way to manually set up the **Discovery Service** in the configuration file: Copy "networks": { "ips": "", "discovery": "127.0.0.1,127.0.0.1" }, **NDI Discovery Service to control devices' discoverability.** As mentioned above, with NDI 5, we enabled support for multiple NDI Discovery Servers. NDI Receivers can now specify a comma-delimited list of Discovery Servers (e.g., "`192.168.25.10, 192.168.25.12`"), and they will all operate simultaneously. Moreover, an NDI Discovery Server can be connected to multiple network interfaces and supports multiple subnets. Using multiple servers and subnets allows sources to be organized into distinct areas. These areas can cater to various workflows and security requirements. **Here is an example** that explains how multiple Discovery Servers can be used for control device discoverability: Spinning up or shutting down the Discovery Servers with IP Address 192.168.25.243 - 192.168.25.244 - 192.168.25.245 will turn on or off discoverability between the 3 NDI areas. The example above is related to multiple Discovery Servers in a single subnet. However, the Discovery Server can be connected and shared between different subnets. Discovery Servers can be easily deployed on Linux-based virtual machines, and the process of spinning up or shutting down Discovery Servers can be efficiently automated and managed by solutions like Terraform. 📄 Screenshot of NDI Access Manager tool ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FIJo5XStwzFcVOQ1W6zwU%252F1.png%3Falt%3Dmedia%26token%3D049e2b10-333b-4726-be7b-dcb59f9283a8&width=768&dpr=4&quality=100&sign=807291b5&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252F2GWseiqRc2wObT1uEuMe%252Fimage.png%3Falt%3Dmedia%26token%3De8a220f3-bd88-41a7-9091-8cbd2ffa52b9&width=768&dpr=4&quality=100&sign=d3644c8&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252F2qG5ryhWu2TZ6j9moWrT%252Fimage.png%3Falt%3Dmedia%26token%3D66aa4687-8af5-419b-be47-d5c9a7a4a7ae&width=768&dpr=4&quality=100&sign=a6477ac7&sv=2) --- # Discovery & Registration | Docs and Guides ### [](#toc144291436) Zero configuration in AV signal distribution One of the biggest issues in AV distribution in the IP world is that equipment is not identifiable by its physical connection. In networking, every connected device needs to have a unique address so another device, hardware, and applications can reach it. However, the network physical connection is dynamic and not related at all to the equipment address. For that reason, in a large network with hundreds (or thousands) of devices with addresses, it becomes difficult to find and interconnect equipment. NDI offers two different options for a zero-configuration discovery and registration: **mDNS** and **Discovery Service**. Last updated 3 months ago Was this helpful? 📄 --- # NDI Tools | Docs and Guides [PreviousProducts Using NDI for Audio](/all/using-ndi/ndi-for-audio/products-using-ndi-for-audio) [NextRelease Notes](/all/using-ndi/ndi-tools/release-notes) Last updated 3 months ago Was this helpful? Today, millions of professional and amateur users leverage NDI-enabled devices and software to maximize IP for audio and video connectivity. In addition to developing the core technology that provides the connectivity features and infrastructure for this ecosystem of products, we recognized the importance of facilitating the operation of NDI workflows and setups. Hence, we created **NDI Tools: a collection of simple yet powerful free software applications designed to introduce anyone, from end users to professional installers, to the world of NDI connectivity and video over IP.** NDI tools work on most computers and are [simple to install](/all/using-ndi/ndi-tools/installing-ndi-tools) . Our team is committed to improving all our tools by releasing [frequent updates](/all/using-ndi/ndi-tools/release-notes) that make each tool even more powerful and valuable. This space contains all documentation and educational content related to NDI Tools. We continuously review it to reflect the most recent developments and updates. You can browse the index below to access all the main topics, guides, and documentation included in this page. [](/all/using-ndi/ndi-tools/release-notes) [](/all/using-ndi/ndi-tools/installing-ndi-tools) [](/all/using-ndi/ndi-tools/ndi-tools-launcher) [](/all/using-ndi/ndi-tools/ndi-tools-for-windows) [](/all/using-ndi/ndi-tools/ndi-tools-for-mac) [](/all/using-ndi/ndi-tools/plugins) ⚒️ **🆕 Release Notes** **Installing NDI Tools** **NDI Tools Launcher** 🪟 **NDI Tools for Windows** 🍏 **NDI Tools for Mac** **Plugins** --- # mDNS | Docs and Guides MAC (Media Access Control) address refers to a unique physical address identifying a network node. Sending and receiving video streams across an IP network requires applications that support video and can discover receiving applications that are looking for video. NDI resolves host names to IP addresses over the LAN and does so automatically. When you start an application that sends NDI, the devices that can receive NDI become aware instantaneously. While this is a typical function on almost all networks, there are some cases where it is important to know how this works to properly configure networks utilizing managed data flow protocols. By default, NDI utilizes mDNS (multicast Domain Name System) to create the zero-configuration environment for discovery. This service sends an IP multicast message that asks the host to identify itself. The target machine then multicasts a message that includes its own IP address. This multicast is seen by all NDI-receiving machines on the subnet, which then use the information in that message to update their own caches. These multicast queries are sent to a multicast address, and thus, no single device is required to have global knowledge. When a service or device sees a query for any service it recognizes, it provides a DNS response with the information from its cache. The primary benefit of using mDNS is that it requires little or no administration to set up. Unless the network is specifically configured not to allow mDNS, NDI sources will be discovered. This format works when no infrastructure is present and can span infrastructure failures. **The mDNS** **Ethernet** **frame is a** **multicast UDP packet that broadcasts to****:** MAC Adress 01:00:5E:00:00:FB (for IPv4) IPv4 Address 224.0.0.251 UDP Port 5353 Choosing the network location type on Windows devices is critical for the successful discovery and registration of NDI. Typically, the first time a Windows machine is connected to a network, a dialog window appears that allows the user to choose the network location type: Private or Public. By default, Windows sets a new network location to Public. This location is designed to keep machines from being visible and responding to broadcast pings. This location type also affects mDNS responses and keeps NDI video streams from being discovered and registered on the network. **Network locations should be set to Private for successful discovery and registration of NDI.** The Domain network location is used for domain networks, such as those at enterprise workplaces. The network administrator controls this type of network location, and it cannot be selected or changed. In this type of configuration, mDNS discovery must be allowed at the domain level. Because mDNS uses a link-local multicast address, its capacity is limited to a single physical or logical LAN. Last updated 3 months ago Was this helpful? 📄 --- # NDI Related Network Ports | Docs and Guides NDI uses both TCP and UDP ports for handling inbound and outbound traffic. For example, ports in the range of 5960 and up are used for both TCP and UDP connections, allowing for efficient data transmission and reception. Port Type Use 5353 UDP This is the standard port used for mDNS communication and is always used for multicast sending of the current sources onto the network. 5959 TCP NDI Discovery Server is an optional method to have NDI devices perform discovery. This can be beneficial in large configurations when you need to connect NDI devices between subnets or if mDNS is blocked. 5960 TCP This is a TCP port used for remote sources to query this machine and discover all the sources running on it. This is used, for instance, when a machine is added by an IP address in the access manager so that from an IP address alone, all the sources currently running on that machine can be discovered automatically. 5961 and up TCP These are the base TCP connections used for each NDI stream. For each current connection, at least one port number will be used in this range. 5960 and up UDP In version 5 and above, when using Reliable UDP connections, it will use a very small number of ports in the range of 5960 for UDP. These port numbers are shared with the TCP connections. Because connection sharing is used in this mode, the number of ports required is very limited and only one port is needed per NDI process running and not one port per NDI connection. 6960 and up TCP/UDP When using multi-TCP or UDP receiving, at least one port number in this range will be used for each connection. 7960 and up TCP/UDP When using multi-TCP, unicast UDP, or multicast UDP sending, at least one port number in this range will be used for each connection. Ephemeral TCP Legacy to NDI v1 - The current versions (4.6 and later) no longer use any ports in the ephemeral port range. Last updated 13 days ago Was this helpful? 📄 --- # Manual Connection | Docs and Guides Last updated 3 months ago Was this helpful? One approach to manually interconnect NDI devices is to specify the IP address of the transmitter in the receiver. In Windows and MacOS, this can be achieved using the NDI Access Manager in the External Sources feature. Several NDI hardware decoders also support this functionality. For Linux, the IP addresses of NDI senders can be added manually in the NDI configuration file called "ndi-config.v1.json." This file is in the home directory of the user currently logged in. Specifying the IP address of an NDI source allows the receiver to receive NDI sources that are in a different subnet and may not be discoverable by mDNS (Multicast DNS). This method enables the reception of NDI sources that might be otherwise inaccessible due to network configurations or limitations. In Linux manual connections can be added in the NDI configuration file located in the home directory of the effective user: "ndi-config.v1.json" Here is the way to manually set up NDI sources in the configuration file: `"networks": { "ips": "192.168.123.200,10.10.123.22,", "discovery": "",` 📄 Screenshot of NDI Access Manager tool ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252F3toT5uYUD7q4dx9ZQs3A%252F2.png%3Falt%3Dmedia%26token%3D08a8f9c0-d6d8-409d-9a96-43fb92197937&width=768&dpr=4&quality=100&sign=1f6e99a3&sv=2) --- # NDI Groups | Docs and Guides Last updated 12 days ago Was this helpful? NDI groups enhance the efficiency and management of NDI-based workflows by providing a structured way to organize and control the visibility and access of NDI sources and destinations within a network. #### [](#ndi-devices-support-two-different-kinds-of-groups-send-and-receive) _NDI devices support two different kinds of Groups:_ _**Send**_ _and_ _**Receive**__._ A device can be part of different Groups, some Groups only in the Send or Receive mode: #### [](#scenarios) Scenarios In this scenario, **NDI Device 01** is sending discovery information to Groups 02 and 04. Devices part of the **Receive Groups 02** and **04** can discover and receive NDI streams from **Device 01.** **NDI Device 02** is sending discovery information in Groups: Public, 01, 02, and 04. **NDI Device 03** is sending discovery information in Groups: Public and 03. **There are different ways to define Groups in NDI Devices:** In MS Windows and MacOS, Groups are defined in the NDI Access Manager, which is part of the free NDI Tools: The Groups string for each Send and Receive operation must not exceed 248 bytes in length, which means that the total length of the combined Group names should not exceed 248 characters. In Linux, NDI Groups can be defined in the NDI configuration file located in the home directory of the effective user: "ndi-config.v1.json" Here is the way to configure Groups in the configuration file: `}, "groups": { "send": "Public", "recv": "Public,Group 01,Group 02" },` _Hardware NDI Devices must support NDI Groups to be compliant with the NDI standard specifications._ Here are some examples of hardware devices with NDI Groups support: 📄 Screenshot of NDI Access Manager tool ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FQfoYiMT4o7KAHRUpm8Le%252Fimmagine.png%3Falt%3Dmedia%26token%3D7c96fe9e-5a5a-419a-940e-542dcc0984f6&width=768&dpr=4&quality=100&sign=8cf9a6eb&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FdfmP6Mw5AcqsM55zNjQ0%252Fimage.png%3Falt%3Dmedia%26token%3D9f332fe8-4eb4-4c58-b654-811a82feea6e&width=768&dpr=4&quality=100&sign=e00435b9&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FiiAZm8Ss96uIjSygo7BT%252F6.png%3Falt%3Dmedia%26token%3Df5e0d240-707c-44da-9262-07786ea19f37&width=768&dpr=4&quality=100&sign=161e996c&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FJeGvAHHD1CfeoSLFpS2o%252Fimage.png%3Falt%3Dmedia%26token%3D4f779bd1-8c28-4549-b04d-583f0b8d0438&width=768&dpr=4&quality=100&sign=6891ec2&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FzE0D3ethrnB1JEUUyyQE%252Fimage.png%3Falt%3Dmedia%26token%3De5a3d77a-b419-449b-a608-81fee54f1ce0&width=768&dpr=4&quality=100&sign=71b988e9&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FJW9a3AT2gpawLIvJfzmQ%252Fimage.png%3Falt%3Dmedia%26token%3D87cad439-a883-4da6-9bb4-775399add1da&width=768&dpr=4&quality=100&sign=7826dc45&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FCt0BbBbvP1juBKYt4DZM%252Fimage.png%3Falt%3Dmedia%26token%3D1dd9d99e-14d4-47fa-b275-cc683b9a8e59&width=768&dpr=4&quality=100&sign=3b81900c&sv=2) ![](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FHtqE4lT0slhLFyJpiqYk%252Fimage.png%3Falt%3Dmedia%26token%3Da86172b2-4faf-428d-8fde-d626011691ea&width=768&dpr=4&quality=100&sign=57762637&sv=2) --- # NDI High Bandwidth based on SpeedHQ7 (8bit 4:2:2:4) | Docs and Guides **Includes Alpha Channel** Resolution Framerate Maximum Bandwidth Mbps Proxy Resolution Framerate Maximum Bandwidth Mbps 720 50p 121.18 640x360 60p 82.29 720 60p 132.29 640x360 60p 82.29 1080 50i 128.12 640x360 30p 23.43 1080 60i 140.62 640x360 30p 23.43 1080 50p 156.99 640x360 60p 82.29 1080 60p 165.17 640x360 60p 82.29 3840x2160 50i 197.91 640x360 30p 23.43 3840x2160 60i 214.28 640x360 30p 23.43 3840x2160 50p 279.76 640x360 60p 82.29 3840x2160 60p 312.49 640x360 60p 82.29 NDI High Bandwidth is I-frame only. NDI encoders offer a proxy stream with lower resolution and higher compression, and applications can use the proxy stream for preview, reducing network usage and processing requirements. Last updated 3 months ago Was this helpful? 📄 --- # Docs & Guides | Docs and Guides Last updated 3 months ago Was this helpful? [](#getting-started) 🏁 Getting Started -------------------------------------------- [](/all/getting-started/what-is-ndi) [](/all/getting-started/white-paper) [](/all/getting-started/release-notes) * * * ### [](#what-are-you-looking-for) What are you looking for? [](/all/faq/index) 🟣 **What is NDI?** 📄 **White Paper** 🆕 **Release Notes** ❓**FAQ** [🎨 **Brand**](https://docs.ndi.video/brand/) ![Page cover image](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FQVw0mGeGlElDhmwkJfWe%252FDocs%2520and%2520Guides.jpg%3Falt%3Dmedia%26token%3D452acd28-487d-4b5e-ab9a-1b6914690955&width=1248&dpr=4&quality=100&sign=e7ef479c&sv=2) [![Cover](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FZyLIVxkSqsgVmjDZnTNh%252FNDI%2520call%2520bg%2520dark.jpg%3Falt%3Dmedia%26token%3D66ad2c2f-a560-48d9-b6a7-54c33e7da611&width=376&dpr=4&quality=100&sign=e5c25bec&sv=2)\ \ 💪 **Using NDI**](/all/using-ndi/introduction) [![Cover](https://docs.ndi.video/~gitbook/image?url=https%3A%2F%2F3444609009-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDO9LSaUxLOBIgPjyrjR1%252Fuploads%252FdNeTiExJzZ99pksUcsCz%252FApplications.jpg%3Falt%3Dmedia%26token%3Df203da37-6b11-4bd0-890a-40bd4bdbec27&width=376&dpr=4&quality=100&sign=61abb53e&sv=2)\ \ 💻 **Developing with NDI**](/all/developing-with-ndi/introduction) --- # NDI Protocols | Docs and Guides ### [](#reliable-udp-ndi-5) Reliable UDP – NDI 5 In NDI version 5 the default communication mechanism is a Reliable UDP protocol that represents the state-of-the-art communication protocol that is implemented by building upon all the experience we have seen in the real world with NDI across a massive variety of different installations Reliable UDP, also known as RUDP, is a transport protocol that combines the advantages of UDP's low latency and simplicity with the reliability of TCP (Transmission Control Protocol). It is designed specifically for real-time multimedia applications, where maintaining the timeliness of data is crucial. In the context of NDI, Reliable UDP is employed to ensure that video and audio streams are delivered reliably and with minimal delay. It achieves this by implementing several mechanisms: Sequencing: Reliable UDP assigns a sequence number to each packet it sends. This allows the receiving end to detect missing or out-of-order packets and request retransmissions if necessary. Retransmissions: If a packet is lost or arrives out of order, the receiving end can request a retransmission of the missing packet(s) using the sequence number information. Flow control: Reliable UDP incorporates flow control mechanisms to manage the rate of data transmission. This prevents overwhelming the network or the receiving device with more data than it can handle, ensuring a smoother streaming experience. Congestion control: RUDP also includes congestion control algorithms to prevent network congestion and avoid unnecessary packet loss. It dynamically adjusts the transmission rate based on network conditions, maintaining optimal throughput without overwhelming the network. ### [](#multipath-tcp-ndi-4) Multipath TCP – NDI 4 This protocol permits transport across multiple NICs and all network paths, it is intended to use hardware-accelerated network adapters with adaptive bandwidth sharing across NICs. Multipath TCP is a transmission protocol that offers advantages such as maximizing throughput, optimizing resource usage, and enhancing network redundancy. It can seamlessly integrate multiple network pathways, including wireless and mobile networks. It is especially efficient when used with NDI equipment that utilizes multiple Gigabit connections to exchange a large number of NDI streams. However, in scenarios where 10Gbit interfaces are connected with 1Gbit interfaces, Multipath TCP's efficiency is compromised. This is primarily due to network switches being unable to effectively manage network congestion in such situations. As a result, the protocol may not perform optimally in these specific network configurations. ### [](#udp-with-forward-error-correction-ndi-3) UDP with Forward Error Correction – NDI 3 This alternative protocol to TCP is used when reliable delivery of data packets is not required. UDP is typically used for applications where timeliness is of higher priority than accuracy, such as streaming media, teleconferencing, and voice-over-IP (VoIP). Forward error correction (FEC) is a method of obtaining error control in data transmission in which the source (transmitter) sends redundant data to the destination (receiver). UDP (User Datagram Protocol) with Forward Error Correction (FEC) is a beneficial approach when the network is prone to errors or not entirely reliable. It provides a solution for error correction when data packets get lost or corrupted during transmission. However, it's important to note that using UDP with FEC requires additional computational processing on the receiver side. The receiver needs to implement algorithms and mechanisms to manage the error correction process. This involves decoding the received data and applying error correction techniques to recover any lost or corrupted packets. ### [](#single-tcp-ndi-1) Single TCP – NDI 1 This network communications protocol enables two host systems to establish a connection, exchange data packets, and ensure data is delivered intact to the correct destination. TCP is typically grouped with IP (Internet Protocol) and is collectively known as TCP/IP. Single-TCP is supported on all NDI versions. While the other transmission modes are likely to perform better, **this mode offers baseline compatibility for all NDI clients**. Last updated 3 months ago Was this helpful? --- # Getting video across the network | Docs and Guides Video, just like voice data in VoIP systems, is a very demanding data stream and will immediately expose a weakness in a network. The network must support multiple video, audio, and data streams in a reliable, synchronized manner without disruption. When delay, packet loss, and jitter reach thresholds where the video is impacted visually, the usefulness of that video drops to zero. It is important to understand the complexities of video in IP data networks to mitigate these factors. Networks that are designed to move NDI video streams should be thought of as being primarily utilized for video. IP networks are, by their very nature, “best effort delivery” systems and were originally developed for the transport of data. By contrast to video, data services can function happily with packet retransmissions, lost packets, and even packets arriving out of order. Video streams, while still composed of data, are much more rigid in their requirements. With the use of modern networking equipment and proper configuration, video can move across networks whilst still obtaining low latency, frame accuracy, and high-quality requirements necessary for live video production. Last updated 3 months ago Was this helpful? 📄 ---