Networked Media Open Specifications (NMOS) in DeepStream

The NvDsNmos utility library provides the APIs to create, destroy and internally manage an NMOS Node for a DeepStream application.

The library can automatically discover and register with an NMOS Registry on the network using the AMWA IS-04 Registration API.

The library provides callbacks for NMOS events such as AMWA IS-05 Connection API requests from an NMOS Controller. These callbacks can be used to update running DeepStream pipelines with new transport parameters, for example.

NvDsNmos currently supports Senders and Receivers for uncompressed Video and Audio, i.e., SMPTE ST 2110-20 and SMPTE ST 2110-30 streams.

Supported Specifications

The NvDsNmos library supports the following specifications, using the Sony nmos-cpp implementation:

Prerequisites

The Avahi Apple Bonjour compatibility library must be installed. For example, run:

sudo apt-get install libavahi-compat-libdnssd-dev

The Avahi mDNS/DNS-SD daemon must also be running. The Avahi browsing, publishing and discovery utilities (avahi-utils) can be used to confirm that DNS Service Discovery (DNS-SD) records for an NMOS Registry are discoverable. For example, run:

avahi-browse -r _nmos-register._tcp

NvDsNmos API

Refer to the nvdsnmos.h header file.

Sample Application

Refer to the DeepStream Reference Application - deepstream-nmos app, which demonstrates how to use the NvDsNmos library.