Network Device Interface
   HOME

TheInfoList



OR:

Network Device Interface (NDI) is a royalty-free software specification developed by
NewTek NewTek, Inc. is a San Antonio, Texas-based hardware and software company that produces live and post-production video tools and visual imaging software for personal computers. The company was founded in 1985 in Topeka, Kansas, United States, by T ...
to enable video-compatible products to communicate, deliver, and receive
high-definition video High-definition video (HD video) is video of higher resolution and quality than standard-definition. While there is no standardized meaning for ''high-definition'', generally any video image with considerably more than 480 vertical scan lines (No ...
over a
computer network A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ...
in a high-quality, low-latency manner that is frame accurate and suitable for switching in a live
production environment In software deployment, an environment or tier is a computer system or set of systems in which a computer program or software component is deployed and executed. In simple cases, such as developing and immediately executing a program on the same m ...
.


Technology

NDI is designed to run over
gigabit Ethernet In computer networking, Gigabit Ethernet (GbE or 1 GigE) is the term applied to transmitting Ethernet frames at a rate of a gigabit per second. The most popular variant, 1000BASE-T, is defined by the IEEE 802.3ab standard. It came into use i ...
, with the NDI codec expected to deliver 1080i HD video at VBR data rates typically around 100 Mbit/s. By default, NDI uses the
mDNS In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a zero-configuration service, using essentially the same programming interfaces, pac ...
(
Bonjour Bonjour is a French word meaning (literally translated) "good day", and is commonly used as a greeting. Bonjour may also refer to: People * Laurence BonJour (born 1943), epistemologist and professor of philosophy at the University of Washington ...
/
Zeroconf Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manu ...
) discovery mechanism to advertise sources on a local area network, such that NDI receiving devices can automatically discover and offer those sources, although 2 other discovery modes (NDI Access, NDI Discovery Server) allow for operations across
subnet A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
s, and without mDNS. Sources are created using an arbitrarily selected TCP 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 UDP multicast or unicast with
forward error correction In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea is ...
(FEC) instead of TCP, and can load balance streams across multiple
network interface controller A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter or physical network interface, and by similar terms) is a computer hardware component that connects a computer to a computer network. Ear ...
s NICs without using
link aggregation In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundan ...
. NDI 4.0 introduces multi-TCP connections. NDI carries video, multichannel
uncompressed audio An audio file format is a file format for storing digital audio data on a computer system. The bit layout of the audio data (excluding metadata) is called the audio coding format and can be uncompressed, or compressed to reduce the file size, ofte ...
and
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
. 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 Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
form. This directional metadata system allows for functionality such as active 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 A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
(SDK) is available for Windows, Linux and MacOS, and has also been ported to iOS, tvOS, Android, Raspberry Pi, and FPGA. The Standard NDI SDK is available via a royalty-free
proprietary {{Short pages monitor