Giter Site home page Giter Site logo

ewouth / nmos-cpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sony/nmos-cpp

0.0 2.0 0.0 1.76 MB

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

License: Apache License 2.0

CMake 3.94% C++ 95.84% C 0.20% Objective-C 0.02%

nmos-cpp's Introduction

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. Some information about the overall design of nmos-cpp is also included in the architecture 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, and is being used to build NMOS support for several products.

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:

  • Instructions for cross-compiling for the Raspberry Pi
  • Instructions for running the official AMWA NMOS API Testing Tool
  • Updates to build instructions and required dependencies
  • Simpler creation/processing of the types of SDP files required to support ST 2110 and ST 2022-7
  • Simpler run-time configuration of the nmos-cpp-node and nmos-cpp-registry settings
  • Some documentation about the overall design of nmos-cpp for developers
  • An implementation of the Connection API
  • A fix for a potential memory leak
  • An SDP parser/generator (to/from a JSON representation)
  • 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:

  • 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.

nmos-cpp's People

Contributors

garethsb avatar billt-hlit avatar lo-simon avatar jwpwh avatar

Watchers

James Cloos avatar Ewout ter Hoeven avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.