Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ export default defineConfig({
items: [
{ label: 'AirPlay Receiver Plugin', slug: 'plugins/airplay-receiver' },
{ label: 'Ariacast Receiver Plugin', slug: 'plugins/ariacast-receiver' },
{ label: 'DLNA Receiver Plugin', slug: 'plugins/dlna-receiver' },
{ label: 'Home Assistant Plugin', slug: 'ha-plugin' },
{ label: 'LastFM Scrobbler', slug: 'plugins/lastfm_scrobble' },
{ label: 'Listenbrainz Scrobbler', slug: 'plugins/listenbrainz_scrobble' },
Expand Down
36 changes: 36 additions & 0 deletions src/content/docs/plugins/dlna-receiver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: "DLNA Receiver Plugin"
description: Features and Notes for the DLNA Receiver Plugin
---

# DLNA Receiver

Music Assistant can act as a UPnP/DLNA MediaRenderer on the local network. External DLNA-aware apps discover it on the network and can cast audio to any MA player.

Once an external app sends a stream URL via the standard DLNA protocol, Music Assistant proxies the audio through its streaming pipeline to the selected target player — DLNA speakers, AirPlay receivers, Chromecast, Yandex Station, Squeezebox, etc.

## Features

- Exposes Music Assistant players as DLNA MediaRenderers on the local network
- Works as either a single virtual renderer or one renderer per MA player
- Reports playback progress and volume back to the controlling app

## Configuration

After adding it to Music Assistant, configure the following:

### Settings

- **Friendly name prefix** — name shown to DLNA apps on the network. When multiple players are exposed, the MA player name is appended automatically (e.g. `Music Assistant — Kitchen`). Default: `Music Assistant`.
- **Target players** — controls which Music Assistant players appear as DLNA devices:
- *empty* — a single virtual renderer is advertised; you can route the incoming stream to any player from the MA UI after it starts.
- *comma-separated player IDs* — one DLNA device per listed player (e.g. `kitchen,living_room`).
- `*` — automatically expose every MA player, including ones that come online later.
- **Bind IP address** — IP address the plugin listens on. Leave empty to auto-detect.
- **HTTP base port** — TCP port used by the plugin. When multiple players are exposed, the next ports are used as well (e.g. `8298`, `8299`, `8300`, …). Default: `8298`.

## Known Issues / Notes

- To listen to the plugin audio, navigate to the desired player's NOW PLAYING view and then in the menu in the top right, select Source, and choose the desired DLNA Receiver.
- A small delay between *Play* in the controlling app and audio on the target player is normal — it depends on the target player's buffering.
- For security, only `http://` and `https://` stream URLs are accepted. Other schemes and URLs that resolve to private or loopback addresses are rejected.