NMOS Specifications are a family of specifications that support the professional AV media industry’s transition to a "fully-networked" architecture. The NMOS specs are developed by the Advanced Media Workflow Association (AMWA) and are published on GitHub.
Networked Media Open Specifications: Introduction
Straight to the Roadmap
NMOS provides an open and simple to use control-plane solution that enables interoperability and management of IP connected audio and video devices. NMOS enables an open, interoperable IP video system to replace SDI in Broadcast and ProAV applications everywhere. NMOS lets you find, connect and configure media devices to enable video and audio on your IP network. It can be used to build and manage small and large multi-vendor systems.
NMOS provides a suite of small, focused, free-standing specifications, each with a specific function. It is an open, and industry developed, free of charge and available to everyone. It provides a simple, vendor-neutral way to connect SMPTE ST 2110 senders and receivers, as ST 2110 doesn't inherently do this. NMOS is designed to support SMPTE ST 2110, and other transport standards.
NMOS is a fundamental part of the JT-NM technical recommendation, JT-NM TR-1001, enabling operational efficiency, through automation and by reduction of manual overhead in setting up networked systems. NMOS provides key components for Control, Configuration and Security in the EBU Technology Pyramid for Media Nodes. It provides important, open, interface specifications in areas where IT standards for media do not exist.
It is not software, though it can be implemented for free in vendor's software. It is also not an essence or transport format to carry audio and video.
This is where the Advanced Media Workflow Association (AMWA) comes in. AMWA is an industry group of manufacturers, developers and end users, that is trying to advance a software-focussed approach to support future professional media operations. What this means in practice is identifying how to build upon "commodity" infrastructure (orange layer) and widely used platform technologies/protocols (green) layer and supplement these where required with helpful specifications that build upon these building blocks. AMWA has done this in the past with "application specifications" for file-based interchange and delivery, and is now doing this for networked media with the NMOS specifications, which are being created by AMWA's Networked Media Incubator group. These provide a open set of APIs to support interoperability for networked media applications:
A decade ago, typical control APIs used an
"RPC-style" approach based on SOAP, XML, XSD and WSDL, leading to quite complex code and messages. Modern developers of web APIs typically use a REST
(or at least "REST-like" - see below) approach with simpler messages based on JSON and a lightweight approach to schemas using e.g. RAML and JSON Schema. NMOS adopts this modern approach.
1) In NMOS specifications a Device represents a logical block of functionality, and a Node is the host for one or more Devices
2-4) Devices have logical inputs and outputs called Receivers and Senders
5) Devices, Senders and Receivers are all Resources. A Resource is a uniquely identified and addressable part of a networksed system
As an example, consider an IP-enabled camera. Associated with it there will probably be a Node, a Device, A video Sender, an audio Sender (if it has microphones), and maybe a data Sender (e.g. for position data), and perhaps Receivers for reverse video, intercom and control data.
6) NMOS uses the term Flow for a sequence of video, audio, or time-related data, which can flow from a Sender to a Receiver or Receivers. A Flow is treated as a resource and has a unique ID.
The elements within the Flow are called Grains. An example of a Grain is a video frame. Grains are associated with a position on a timeline:
Although Grains often are regularly spaced, they don’t have to be, for example in the case of Data Grains representing irregular events:
Each Flow is also associated with a Source. This is the logical originator of the Flow:
So in the NMOS model, a camera could be have several associated resources:
• Node
• Device
• Video, Audio and Data Sources
• Video, Audio and Data Senders
• Video, Audio and Data Receivers (for tally, viewfinder and comms)
• Video, Audio and Data Flows