{"id":13437306,"url":"https://github.com/sony/nmos-js","last_synced_at":"2026-03-05T16:40:19.610Z","repository":{"id":38420790,"uuid":"102677749","full_name":"sony/nmos-js","owner":"sony","description":"An NMOS (Networked Media Open Specifications) Client in Javascript (IS-04, IS-05)","archived":false,"fork":false,"pushed_at":"2024-03-19T14:08:40.000Z","size":7243,"stargazers_count":34,"open_issues_count":32,"forks_count":18,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-16T05:45:28.310Z","etag":null,"topics":["javascript","nmos","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-07T01:47:45.000Z","updated_at":"2025-04-05T04:45:10.000Z","dependencies_parsed_at":"2024-01-07T12:56:32.751Z","dependency_job_id":"ef0d5e73-869c-4a5a-b0da-6c5959ac3964","html_url":"https://github.com/sony/nmos-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fnmos-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fnmos-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fnmos-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sony%2Fnmos-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sony","download_url":"https://codeload.github.com/sony/nmos-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249699366,"owners_count":21312384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nmos","react"],"created_at":"2024-07-31T03:00:55.833Z","updated_at":"2026-03-05T16:40:19.602Z","avatar_url":"https://github.com/sony.png","language":"JavaScript","funding_links":[],"categories":["NMOS"],"sub_categories":[],"readme":"# An NMOS Client in JavaScript [![Build Status](https://github.com/sony/nmos-js/workflows/build-test/badge.svg)][build-test]\n[build-test]: https://github.com/sony/nmos-js/actions?query=workflow%3Abuild-test\n\n## Introduction\n\nThis repository contains a client implementation of the [AMWA Networked Media Open Specifications](https://github.com/AMWA-TV/nmos) in JavaScript, [licensed](LICENSE) under the terms of the Apache License 2.0.\n\n- [AMWA IS-04 NMOS Discovery and Registration Specification](https://amwa-tv.github.io/nmos-discovery-registration)\n- [AMWA IS-05 NMOS Device Connection Management Specification](https://amwa-tv.github.io/nmos-device-connection-management)\n- [AMWA IS-08 NMOS Audio Channel Mapping Specification](https://specs.amwa.tv/is-08/) (read-only for now)\n- [AMWA BCP-004-01 NMOS Receiver Capabilities](https://specs.amwa.tv/bcp-004-01/)\n\nFor more information about AMWA, NMOS and the Networked Media Incubator, please refer to http://amwa.tv/.\n\nThe [repository structure](Documents/Repository-Structure.md), and the [external dependencies](Documents/Dependencies.md), are outlined in the documentation.\n\n### Getting Started With NMOS\n\nThe [Easy-NMOS](https://github.com/rhastie/easy-nmos) starter kit allows the user to launch a simple NMOS setup with minimal installation steps.\nIt relies on nmos-js to provide an NMOS Client that works with an NMOS Registry and a virtual NMOS Node in a Docker Compose network, along with the AMWA NMOS Testing Tool and supporting services.\n\n### Getting Started For Developers\n\nEasy-NMOS is also a great first way to explore the relationship between NMOS services.\n\nThe nmos-js codebase is intended to work with any NMOS Registry, but can take advantage of the features of the [nmos-cpp](https://github.com/sony/nmos-cpp) implementation.\n\nAfter setting up the dependencies, follow these [instructions](Documents/Getting-Started.md) to build and deploy the nmos-js client itself.\n\nThe web application can also be packaged and deployed with the [nmos-cpp-registry application](https://github.com/sony/nmos-cpp).\nCopy the contents of the nmos-js build directory into the admin directory next to the nmos-cpp-registry executable.\n\n## Agile Development\n\n[\u003cimg alt=\"JT-NM Tested 03/20 NMOS \u0026 TR-1001-1 Controller\" src=\"Documents/images/jt-nm-tested-03-20-controller.png?raw=true\" height=\"135\" align=\"right\"/\u003e](https://jt-nm.org/jt-nm_tested/)\n\nThe nmos-js client, like the NMOS Specifications, is intended to be always ready, but steadily developing.\nThe nmos-js client works as both an NMOS Registry browser, using the IS-04 Query API, and provides connection management, using the IS-05 Connection API.\nWhen used with the nmos-cpp-registry, it also provides access to registry log messages.\nIt has been successfully tested in many AMWA Networked Media Incubator workshops, and in the [JT-NM Tested](https://jt-nm.org/jt-nm_tested/) programme.\n\n### Build Status\n\nThe following configurations, defined by the [build-test](.github/workflows/build-test.yml) jobs, are built and unit tested automatically via continuous integration.\n\n| Platform | Version                   | Browser                            | Test Options                                                       |\n|----------|---------------------------|------------------------------------|--------------------------------------------------------------------|\n| Linux    | Ubuntu 22.04              | Chrome                             |                                                                    |\n\nThe [AMWA NMOS API Testing Tool](https://github.com/AMWA-TV/nmos-testing) controller tests are automatically run against the nmos-js user interface using a fully automated [TestingFacade](TestingFacade/README.md).\n\n**Test Suite/Status:**\n[![IS-04-04][IS-04-04-badge]][IS-04-04-sheet]\n[![IS-05-03][IS-05-03-badge]][IS-05-03-sheet]\n\n[IS-04-04-badge]: https://raw.githubusercontent.com/sony/nmos-js/badges/IS-04-04.svg\n[IS-05-03-badge]: https://raw.githubusercontent.com/sony/nmos-js/badges/IS-05-03.svg\n\n[IS-04-04-sheet]: https://docs.google.com/spreadsheets/d/1104JkWwsOp8ql4x0qc-I7nGZqD7mCSBJ__aUIw5AFfw/edit?gid=1975955785\n[IS-05-03-sheet]: https://docs.google.com/spreadsheets/d/1104JkWwsOp8ql4x0qc-I7nGZqD7mCSBJ__aUIw5AFfw/edit?gid=946113228\n\n### Recent Activity\n\nThe implementation is designed to be extended. Development is ongoing, following the evolution of the NMOS specifications in the AMWA Networked Media Incubator.\n\nRecent activity on the project (newest first):\n\n- Added prototype [IS-12 Device Model browser client](is12-client/README.md).\n- Added [automated controller testing](TestingFacade/README.md) for nmos-js.\n- Read-only support for IS-08 Audio Channel Mapping\n- Support for BCP-004-01 Receiver Capabilities\n- JT-NM Tested 03/20 badge (packaged and deployed on a Mellanox SN2010 Switch)\n- Improved and simplified connection management\n- Periodic refresh\n- Lots of other incremental improvements\n- Added support for multi-homed Nodes\n- Added connection management support for RTP, WebSocket and MQTT transports\n- Added a dark theme\n- Switched to [react-admin](https://github.com/marmelab/react-admin) framework from [ng-admin](https://github.com/marmelab/ng-admin)\n\n## Contributing\n\nWe welcome bug reports, feature requests and contributions to the implementation and documentation.\nPlease have a look at the simple [Contribution Guidelines](CONTRIBUTING.md).\n\nThank you for your interest!\n\n![This project was formerly known as sea-lion.](Documents/images/sea-lion.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsony%2Fnmos-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsony%2Fnmos-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsony%2Fnmos-js/lists"}