# Receiver Discoverability, Monitoring, and Control Overview

## Introduction

NDI 6.2 introduces new functionality to all NDI receivers, any device or&#x20;application capable of receiving an NDI stream.&#x20;This functionality allows NDI Receivers to be discoverable, similar&#x20;to how NDI Senders are discoverable on the network. Users can also monitor the Receivers and get information on&#x20;the stream they are connected to.&#x20;Finally, users can control the Receiver to connect to any&#x20;available sources.

## Network Model

A high level overview of how the relevant parts of the system connect together.

<figure><img src="/files/HwAhFK69CTcoQV4bpmSi" alt=""><figcaption></figcaption></figure>

## NDI Receiving Device

In the NDI device or application receiving NDI streams, the feature introduced in NDI SDK 6.2 will&#x20;be used to create a **Receiver Advertiser** which registers individual receivers.&#x20;The Advertiser is responsible for communicating with the Discovery Server&#x20;using an IP address configured at the application layer.

<figure><img src="/files/JuQiz0E16au8dAa76lzS" alt=""><figcaption></figcaption></figure>

## NDI Receiver Inputs

Individual receivers need to be grouped together&#x20;to create a **Receiver Input**.&#x20;The individual receivers represent the different stream&#x20;components of the NDI stream such as video, audio,&#x20;and metadata.&#x20;This grouping facilitates discoverability, monitoring, and control by allowing users to view and refer to these as distinct&#x20;inputs instead of the individual receiver components.

<figure><img src="/files/AqNqQDxXVmHyN6DGcPiC" alt=""><figcaption></figcaption></figure>

## NDI Discovery Server

While the NDI Discovery Server continues to be available as a command line utility, it is also available as a Windows or Linux service[^1]. This makes it easier to&#x20;manage or integrate directly into software applications.

The Discovery Server registers all NDI devices on the network and&#x20;collects their information, accessible via the new [NDI Discovery Tool](broken://pages/4E0yRhy4TMEitjwX1GpG) or any&#x20;third-party application interfacing to the Service.

It essentially acts as the central broker for all discovery, monitoring, and control.&#x20;The Discovery Server is lightweight and can be run on very small, lower end systems.

{% hint style="info" %}
NDI Receivers can only be discovered by the Discovery Server when they are&#x20;registered to it. NDI Senders can still be discovered automatically without a Discovery&#x20;Server and do not change from existing functionality.
{% endhint %}

## NDI Discovery Tool

This is a Windows and Mac based client application, packaged with&#x20;NDI Tools to provide a user-friendly front-end interface for the Discovery Server.&#x20;The client allows users to see a list of discovered **Senders** and **Receivers**.&#x20;Users can expand the Receivers tab to see monitoring information and select a source for it to connect to.

<figure><img src="/files/OCI2IAiiJyHvI9s2R5XJ" alt=""><figcaption></figcaption></figure>

## Third Party Access to Discovery Server

The ability to monitor and control NDI Receivers is available to any third-party developer&#x20;via the NDI Advanced SDK.&#x20;Using the Advanced SDK, a **Receiver Listener** is created which communicates with the Discovery&#x20;Server receiving information about all discovered Receivers and allowing control of them.

<figure><img src="/files/EiXqnATRmGqvrRsl35pD" alt=""><figcaption></figcaption></figure>

## Available Monitoring Parameters

|                                |                                                                                               |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| Alpha presence                 | Indicate whether there is alpha in the stream                                                 |
| Audio channels                 | Number of audio channels present                                                              |
| Audio Format                   | Audio format and codec                                                                        |
| Audio presence                 | Indicate whether there is audio in the stream and per channel                                 |
| Audio receive mode             | Will indicate the transmission method for the audio stream (SingleTCP, RUDP, multicast etc)   |
| Audio sample rate              | Will indicate the sample rate for the connected source that has audio                         |
| Connection state               | Will indicate if the receiver is connected/disconnected to a source                           |
| Frame rate                     | Frame rate of connected stream                                                                |
| Resolution                     | Resolution of connected stream (width x height)                                               |
| Source name                    | Name of sender and stream that receiver is connected to                                       |
| Source URL                     | Will indicate the IP address and Port number for the connected stream (e.g. 192.1.15.11:5961) |
| Video codec                    | NDI format and codec                                                                          |
| Video color primaries          | Indicates the HDR color information if connected stream is HDR                                |
| Video frame type               | Indicates if the video stream is progressive/interlaced/interleaved streams                   |
| Video matrix coefficients&#xD; | Indicates the HDR color information if connected stream is HDR                                |
| Video presence&#xD;            | Indicate whether there is video in the stream                                                 |
| Video receive mode&#xD;        | Will indicate the transmission method for the video stream (SingleTCP, RUDP, multicast etc)   |
| Video transfer function        | Indicates the HDR color information if connected stream is HDR                                |

## Control

In this release, it is possible to control the receiver to select which NDI source it connects to.&#x20;

{% hint style="info" %}
It can only connect to sources that have also been discovered by the Discovery&#x20;Server.
{% endhint %}

## Communication and Security

All communications between NDI Receivers, the Discovery Server and NDI Discovery tool,&#x20;and third-party applications using the Advanced SDK use XML messages with a basic level&#x20;of security.

In this initial release there is no encryption or authentication applied. A Receiver need only&#x20;register to the IP of a Discovery Server to communicate with it. Applications must use NDI's propriety API calls provided in the Advanced SDK.&#x20;

Developers can add authentication at the application layer to prevent unauthorized access&#x20;to the application and the ability to monitor or control NDI devices.

[^1]: Runs the Discovery Server automatically in the background, managed by the operating system for startup, monitoring, and restart


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ndi.video/all/developing-with-ndi/developer-guides/receiver-discoverability-monitoring-and-control-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
