nmos-rs
is a WIP Rust implementation of the AMWA Networked Media Open Specifications (NMOS) APIs.
The project aims to create an NMOS Node library which is performant, while being super easy to work with.
Currently only the IS-04 v1.0 specification is implemented.
This repository hosts the following libraries:
nmos-schema
- Rust types generated automatically from NMOS JSON Schemas.nmos-model
- Handcrafted typed model of NMOS resources.nmos-node
- Node implementation build around model including HTTP APIs.
Minimum Supported Rust Version is 1.56 due to the use of Rust 2021 Edition features.
Examples can be found at node/examples
. You can run the examples with cargo run --example name
. See the list of examples.
Windows is currently unsupported due to a missing implementation in the MDNS abstraction crate zeroconf.
To properly support MDNS on modern Windows platforms, it makes most
sense to use Dnssd in the WinRT API, for which bindings exist in the
windows-rs crate. (Windows.Networking.ServiceDiscovery.Dnssd
)
- IS-04 v1.1-v1.3 node support.
- IS-05 node support.
- Automated testing with the AMWA NMOS testing tool.
- Simple registry implementation?
- You tell me!