pa-dlna
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 24.04 Noble Numbat
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
pa-dlna 🇬🇧 leitet die Audioausgabe von Pipewire[1] ähnlich wie pulseaudio-dlna mit PulseAudio ins lokale Netzwerk (LAN) / auf DLNA Devices um. Wichtig zum Verständnis ist außerdem, dass es sich nicht um einen vollwertigen DLNA-Server handelt.
Installation¶
Voraussetzungen¶
Das Programm benötigt Pipewire[1] als Pulseaudio Sound Server, d.h.:
Die Programme pipewire, pipewire-pulse und wireplumber müssen installiert sein und laufen. Dies kann man mit diesem Befehl überprüfen:
pgrep -a wire
Bei einem wie vorgesehen installiertem aktuellem Ubuntu-Desktop ist dies der Fall.
Pulseaudio darf nicht als Vorgabe im System definiert sein. In der Ausgabe von
grep default-server /etc/pulse/client.conf
darf der Wert nicht
pulseaudiolauten.
Paketquellen¶
Erst ab Oracular Oriole 24.10 befindet sich das Paket pa-dlna 🇬🇧 in den offiziellen Paketquellen und kann direkt aus diesen installiert[2] werden:
pa-dlna (universe ab 24.10 – PulseAudio-Ströme an DLNA-Geräte weiterleiten)
Befehl zum Installieren der Pakete:
sudo apt-get install pa-dlna
Python-Modul¶
Nachfolgend wird die Installation unter Noble Numbat (24.04) mit python3 und pipx beschrieben.
Als Voraussetzungen benötigt man Python Version 3.8 oder aktueller und den Paket-Manager von Python:
pipx (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install pipx
Zur Installation des Programms benutzt man danach diesen Befehl:
python3 -m pipx install pa-dlna
Das Programm kann dann sofort gestartet werden[3].
Verwendung¶
Die praktische Nutzung erfolgt mit den folgenden Schritten:
| |
| DLNA-Client auswählen |
pa-dlna wird innerhalb der eigenen Desktop-Umgebung in einem Terminal gestartet[4]:
pa-dlna
Dann startet man die Audiowiedergabe über einen beliebigen Audioplayer, der aber die Ausgabe via Pipewire unterstützen muss.
Auf Empfängerseite kann nun eine Hardware-Komponente zur Wiedergabe genutzt werden.
Nun kann auf dem Rechner mit pavucontrol die Ausgabe auf den Client aktiviert werden. Statt des standardmäßig voreingestellten internen Audio-Geräts wählt man den jeweiligen DLNA-Client aus (siehe Abbildung).
Beendet wird die Umleitung der Audioausgabe im Terminal mit der Tastenkombination Strg + C . Pipewire schaltet automatisch auf das Standardgerät zur Audiowiedergabe zurück.
Optionen¶
Beim Start des Programms kann man Optionen gemäß folgender Tabelle verwenden.
| Optionen (Auswahl) | ||
| Parameter | Beschreibung | |
-h, --help | Hilfe anzeigen | |
--version, -v | Version anzeigen | |
--ip-addresses IP_ADDRESSES, -a IP_ADDRESSES | IP_ADDRESSES ist eine durch Kommas getrennte Liste der lokalen IPv4-Adressen der Netzwerke, in denen UPnP-Geräte gefunden werden können. | |
Konfiguration¶
Die Konfigurationsdatei kann unter nachfolgenden Verzeichnis bearbeitet werden: $HOME/.config/pa-dlna/pa-dlna.conf.
Beispiel für eine angepasste Konfigurationstatei pa-dlna.conf:
# The pa-dlna default configuration. # # This is the built-in pa-dlna configuration written as text. It can be # parsed by a Python Configuration parser and consists of sections, each led # by a [section] header, followed by option/value entries separated by # '='. See https://docs.python.org/3/library/configparser.html. # # The 'selection' option is written as a multi-line in which case all the # lines after the first line start with a white space. # # The default value of 'selection' lists the encoders in this order: # - mp3 encoders first as mp3 is the most common encoding # - lossless encoders # - then lossy encoders # See https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio. [DEFAULT] # Nur FLAC, damit pa-dlna nie auf L16/WAV fällt selection = FlacEncoder, FFMpegFlacEncoder # Musik-Standard rate = 44100 channels = 2 # Stabilität: SOAP/Session-Neuverhandlung pro Track track_metadata = yes soap_minimum_interval = 5 # Denon explizit (deine UDN) # [FFMpegL16WavEncoder.uuid:0ac14c92-3746-13e7-0080-0005cdcd4c36] [FlacEncoder.uuid:0ac14c92-3746-13e7-0080-0005cdcd4c36] rate = 44100 channels = 2 track_metadata = yes soap_minimum_interval = 5
Latenzzeit¶
Bei der Umleitung der Audioausgabe von Videos kommt es prinzipbedingt zu Verzögerungen, die durch Latenzen im Netzwerk begründet sind: Bild und Ton sind nicht mehr synchron. Bei der Nutzung eines reinen Audioplayers ist dieses Problem nicht relevant.