Skip to content
/ nmos-cpp Public

An NMOS (Networked Media Open Specifications) Registry and Node in C++ (IS-04, IS-05)

License

Notifications You must be signed in to change notification settings

sony/nmos-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An NMOS C++ Implementation

Introduction

This repository contains an implementation of the AMWA Networked Media Open Specifications in C++, licensed under the terms of the Apache License 2.0.

This software is a work in progress, tracking the ongoing development of the NMOS specifications in the AMWA Networked Media Incubator. For more information about AMWA, NMOS and the Networked Media Incubator, please refer to http://amwa.tv/.

  • The nmos module includes implementations of the NMOS Node, Registration and Query APIs, and the NMOS Connection API.
  • The nmos-cpp-registry application provides a simple but functional instance of an NMOS Registration & Discovery System (RDS), utilising the nmos module.
  • The nmos-cpp-node application provides an example NMOS Node, also utilising the nmos module.

The repository structure, and the external dependencies, are outlined in the documentation.

Getting Started

The codebase is intended to be portable, and the nmos-cpp CMake project can be built on at least Windows and Linux.

After setting up the dependencies, follow these instructions to build nmos-cpp on your platform, and run the test suite.

Next, try out the registry and node applications in the tutorial.

Work In Progress

The implementation is functional and has been used successfully in several Networked Media Incubator workshop "plug-fests", interoperating with other NMOS implementations.

The implementation is incomplete in some areas. Development is ongoing! The NMOS specifications are being continuously developed, as enhancements are proposed and prototyped by the Incubator participants.

Other open-source NMOS implementations:

Active Development

Recent activity on the project:

  • JSON Schema validation in the Registration API and the Query API
  • Cross-platform build support using CMake
  • An initial release of the nmos-cpp-node example application
  • Back-end enhancements as part of the NMOS Scalability Activity

In the next few weeks, we intend to bring to this repository:

  • Instructions for configuring a CMake toolchain for cross-compiling for embedded Linux on ARM
  • More of a unit test suite, and automated integration testing (the AMWA NMOS Automated Testing Activity is also a work in progress)
  • Additional documentation

And of course, the software will continue to be updated to track the ongoing development of the NMOS specifications, and the work of the Networked Media Incubator.

Contributing

We welcome bug reports, feature requests and contributions to the implementation and documentation. Please have a look at the simple Contribution Guidelines.

Thank you for your interest!

This project was formerly known as sea-lion.

About

An NMOS (Networked Media Open Specifications) Registry and Node in C++ (IS-04, IS-05)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages