https://github.com/bbc/nmos-mdns-bridge
AMWA NMOS mDNS Bridge
https://github.com/bbc/nmos-mdns-bridge
discovery dns is-04 nmos rd-project rd-section-apmm rd-stability-green
Last synced: about 2 months ago
JSON representation
AMWA NMOS mDNS Bridge
- Host: GitHub
- URL: https://github.com/bbc/nmos-mdns-bridge
- Owner: bbc
- License: apache-2.0
- Created: 2017-10-05T18:38:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-03-15T22:07:59.000Z (about 3 years ago)
- Last Synced: 2025-03-22T06:51:15.212Z (2 months ago)
- Topics: discovery, dns, is-04, nmos, rd-project, rd-section-apmm, rd-stability-green
- Language: Python
- Homepage:
- Size: 169 KB
- Stars: 5
- Watchers: 16
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# NMOS MDNS Bridge
A DNS-SD to HTTP bridging service.
## Introduction
This API provides a zeroconf/HTTP bridge for NMOS service types. The API will present itself at [http://localhost:12352/x-ipstudio/mdnsbridge/v1.0/](http://localhost:12352/x-ipstudio/mdnsbridge/v1.0/).
## Installation
### Requirements
* Linux (untested on Windows and Mac)
* Python 2.7
* Python Pip
* [NMOS Common](https://github.com/bbc/nmos-common)### Steps
```bash
# Install Python setuptools
$ pip install setuptools# Install the library
$ sudo python setup.py install
```## Configuration
The mDNS Bridge makes use of a configuration file provided by the [NMOS Common Library](https://github.com/bbc/nmos-common). Please see that repository for configuration details.
## Usage
On systems using systemd for service management (e.g Ubuntu >= 16.04) mdnsbridge may be run as a service. To enable the service create a symbolic link and start the service as follows:
```bash
sudo ln -s /lib/systemd/system/mdnsbridge.service /etc/systemd/system/multi-user.target.wants/mdnsbridge.service
sudo systemctl start mdnsbridge
```### Non-blocking
Alternatively mdnsbridge may be run from a Python script. Run the following script to start the mDNS Brdige in a non-blocking manner, and then stop it again at a later point:
```Python
from mdnsbridge.mdnsbridgeservice import mDNSBridgeServiceservice = mDNSBridgeService()
service.start()# Do something else until ready to stop
service.stop()
```### Blocking
It is also possible to run mDNS Bridge in a blocking manner:
```Python
from mdnsbridge.mdnsbridgeservice import mDNSBridgeServiceservice = mDNSBridgeService()
service.run() # Runs forever
```## Development
### Testing
```bash
# Run the tests
$ make test
```### Packaging
Packaging files are provided for internal BBC R&D use.
These packages depend on packages only available from BBC R&D internal mirrors, and may not work in other environments. For use outside the BBC please use python installation method.```bash
# Debian packaging
$ make deb# RPM packaging
$ make rpm
```## Versioning
We use [Semantic Versioning](https://semver.org/) for this repository
## Changelog
See [CHANGELOG.md](CHANGELOG.md)
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)
Please ensure you have run the test suite before submitting a Pull Request, and include a version bump in line with our [Versioning](#versioning) policy.
## License
See [LICENSE.md](LICENSE.md)