4 releases
Uses new Rust 2024
0.1.3 | Jun 8, 2025 |
---|---|
0.1.2 | May 31, 2025 |
0.1.1 | May 30, 2025 |
0.1.0 | May 29, 2025 |
#7 in Multimedia
491 downloads per month
58KB
890 lines
dlna-dmr
An extensible DLNA DMR (Digital Media Renderer) implementation.
🤔 Cli or Lib?
The dlna-dmr
cli itself is a dummy DMR that only logs the received commands, without actually doing anything with them. It is perfect for debugging purposes, but to build a real DMR, refer to the library documentation.
📥 Installation
Using binstall
cargo binstall dlna-dmr
Downloading from Releases
Navigate to the Releases page and download respective binary for your platform. Make sure to give it execute permissions.
Compiling from Source
cargo install dlna-dmr
📖 Usage
To run the dummy DMR, simply execute the following command in your terminal:
$ dlna-dmr
[2025-05-30T14:49:48Z INFO dlna_dmr] DMR started
[2025-05-30T14:49:48Z INFO dlna_dmr::ssdp] SSDP server running on 172.31.117.144:1900
[2025-05-30T14:49:48Z INFO dlna_dmr::http] HTTP server listening on 172.31.117.144:8080
[2025-05-30T14:50:11Z INFO dlna_dmr::http] RenderingControl::SetMute channel: Master, desired_mute: false
[2025-05-30T14:50:38Z INFO dlna_dmr::http] AVTransport::SetAvTransportUri current_uri: http://example.com/sample.mp4?param1=a¶m2=b
^C
[2025-05-30T14:50:46Z INFO dlna_dmr::http] HTTP server stopped
[2025-05-30T14:50:46Z INFO dlna_dmr::ssdp] SSDP server stopped
[2025-05-30T14:50:46Z INFO dlna_dmr] DMR stopped
To configure, simply pass in a path to a configuration file:
dlna-dmr path/to/config.toml
For more information on configuration options, see the documentation for DMROptions
.
✅ TODO
- Actual XML parsing
- Config file
- "Heartbeat" - send periodic alive messages to the network
- Removing the
'static
requirement - Command line arguments parsing
- Testing HTTP server via
TestRequest
Dependencies
~9–21MB
~264K SLoC