Networked Media Open Specifications

AMWA NMOS Device Control Mock Application

About NC-DEVICE-MOCK

This is a mock NMOS device written in Typescript and running on the NodeJS stack.

It has support for the NMOS Control & Monitoring suite:

It also has support for the IS-14 NMOS Device Configuration specification.

It has support for IS-04 and IS-05 with some limitations:

Installation

Note: npm commands need to be executed from the /code subfolder.

First install dependencies with

npm install

Modify the config.json properties for your configuration. At the very least point registry_address and registry_port to the NMOS registry on your network.

Usage

Build and run with:

npm run build-and-start

If you plan to make changes and want the app to recompile and run whenever you save run with:

npm run serve

Configuration

These are the configuration keys which can be specified in the configuration file (config.json):

Docker support

The application has Docker support using the provided Dockerfile and the docker-compose.yml example file.

Building a Docker image is achieved using the build command ran from the same folder where the Dockerfile is located:

docker build -t nmos-device-control-mock .

We map our config subfolder as a volume to our container when running. This needs to have the config.json file with suitable values for address (the address of your Docker host as this will be avertised in the NMOS APIs) and registry_address as 127.0.0.1 is not a suitable address when running in Docker. You also need to change the outside_port to the port you will map from your host to your container (we use 49999 in the following examples).

Then we can run our nmos-device-control-mock Docker image directly:

docker run --name=nmos-device-control-mock -v ./code/config:/app/dist/server/config -p 49999:8080 nmos-device-control-mock

or through the provided docker-compose.yml which refers to the image:

docker compose -p nmos-control up -d

Specifications supported


NC-DEVICE-MOCK has been developed by the Advanced Media Workflow Association as part of the Networked Media Open Specifications initiative. See here for an overview of NMOS specifications.

The NMOS Testing Tool creates a simple web service for testing implementations of all NMOS APIs.

The links to documentation, API and examples below, and for SPEC links in the page menu bar are for this release or branch: branches/main. Links to other published releases and other live branches appear later in the page, or in the VERSIONS menu.

Documentation

Published Releases

Live Branches

main


These pages are rendered from the source of the specification, which is in this GitHub repository.

Repository Default Branch Lint (default) Render (all)
nmos-device-control-mock main Lint Status Render Status