DLNA mit minidlna

Sunday, May 27, 2018

Was ist DLNA? Die Digital Living Network Alliance (DLNA) ist ein festgelegter Standard/Netzwerkprotokoll für Geräte wie Mediaplayer, SmartTV oder Smartphones und definiert eine Norm für die Bild-, Ton- und Videoübertragung. So das alle zertifizierten Geräte die Daten abspielen können.

Der Server (hier MiniDLNA) kodiert dafür ggf. die Daten neu und stellt diese dann als Stream bereit (Mindestanforderung für die Datenübertragung ist dabei JPEG, lineare PCM-Ton und MPEG-2. Wobei wichtiger ist, welche Formate der Server einlesen kann).

minidlna einrichten

Mein Setup besteht aus diesen zwei Paketen: minidlna und bindfs

# apt-get install minidlna bindfs

Hat man seine Multimediasammlung z.B. unter /var/local/nas/ gespeichert, hängt man dieses Verzeichnis mittels bindfs ins Verzeichnis /var/lib/minidlna ein. Dies ist das Standardverzeichnis, wo nach Dateien gesucht wird:

# cat <<! >>/etc/fstab
/var/local/nas /var/lib/minidlna fuse.bindfs force-user=minidlna,force-group=minidlna,perms=0000:u=rD 0 0
!
# mount /var/lib/minidlna
# minidlnad -R # Dateien neu in die Datenbank einlesen

Der Server läuft unter Debian als Prozess minidlnad mit der UID minidlna und hat so auf das Verzeichnis /var/lib/minidlna nur lesenden Zugriff.

Die Einteilung in Fotos, Musik und Videos passiert dabei automatisch.

Immer wenn sich der Verzeichnisinhalt von /var/lib/minidlna geändert hat, muss mittels minidlnad -R bzw. minidlnad -r, die Datenbank aktualisiert werden (MiniDLNA hat aber auch inotify Unterstützung aktiviert, um neu hinzugefüge Dateien zu indizieren).

Eine eventuell eingerichtete Firewall, muss mindestens die Ports 8200/TCP und 1900/UDP zulassen.

GNOME

Die Denktopumgebung GNOME hat in den Einstellungen unter Freigabe/Medienfreigabe eine eigene integrierte Möglichkeit um Fotos, Musik und Videos über das Netzwerk mittels DLNA freizugeben (Es können auch benutzerdefinierte Verzeichnisse freigegeben werden). Fehlt diese Einstellung, muss rygel installiert werden.
Hier wird minidlna i.d.R. nicht gebraucht.

gnome-rygel.png

Fehlerbehandlung

Läuft der MiniDLNA Server, wird dieser über das Netzwerk meist als neue Eingangsquelle/Source/Input bei den Clients angezeigt.

Bei Problemen ist das folgende Kommando nützlich, um eine Fehlermeldung zu bekommen:

# service minidlna restart
# journalctl -f -u minidlna # Log anzeigen