home
erste Version am 07.04.2016
letzte Änderung am 07.04.2016

DLNA-Server in einer Debian-Jessie-VM aufsetzen


Kürzlich war ich mal wieder auf Dienstreise und mein Hotel-Zimmer war mit einem aktuellen LED-Fernseher ausgestattet. Dieses Modell wäre auf die Dauer zwar nix für mich gewesen, aber das HD-Bild war sehr gut und das Programm von ZDF.info die zwei Abende lang hervorragend.

Nun habe ich ja seit über einem Jahr einen Glasfaser-Anschluß für TV, Telefon und Internet im Haus.
Die beiden Glotzen sind aber noch Röhren-Technik (und das Gerät im Schlafzimmer hat sogar schon knapp 30 Lenze auf dem Buckel).
Die Glotze im Wohnzimmer ist mit einem DVD-Player, einer Wii und einem XBMC alias Kodi auf einem RaspberryPi verbunden - alles via SCART-Kabel.
Und irgendwie wollte Kodi immer häufiger die Videos nicht abspielen, die ich mir gelegentlich via MediathekView auf einen 128GB-USB-Stick lade, der an dem Hostrechner der Gateway-VM hängt und per FTP und NFS freigegeben ist.
Will heißen....das war alles nicht mehr richtig schön.
Der eigentliche Ausschlag für den Tausch bzw. Ersatz des funktionsfähigen Fernsehers kam jedoch durch den Wunsch zustande, jetzt auch Zuhause die öffentlich-rechtlichen digital-Sender (in HD) ansehen zu können (ohne so eine unsägliche zweite Box mit eigener Fernbedienung, eigenem Netzteil und noch einem SCART-Kabel anschließen zu müssen).
Es wurde dann ein Panasonic TX-43 CXW 754, weil der gerade noch in die Ecke neben der Terrassentür passt, in der auch der vorige Fernseher stand.

Und...sehr schön soweit. Die ersten 21 Programmplätze sind jetzt mit öffentlich-rechtlichen HD-Kanälen belegt, der restliche Dreck füllt die Plätze bis 50.

Der neue Fernseher hat per (offenem) WLAN Internet-Zugang und somit Zugriff auf die Mediathek, Youtube und Clipfish.
Netflix hat zwar sogar eine eigene Taste auf der Fernbedienung, stört sich aber glücklicherweise an dem Tunnel, durch den das WLAN ins Internet kommt (sonst würde Sohn #1 sicher ständig im Wohnzimmer rumlungern und dort den von ihm (eigentlich ja von mir - weil Taschengeld) bezahlten Abo-Sender glotzen).
Leider ist der Fernseher jedoch zu blöd, ein NFS-Share zu nutzen.
Mit einem DLNA-Server soll er laut Anleitung aber umgehen können.

Also braucht es einen DLNA-Server, der dem Fernseher die auf meinem USB-Stick liegenden Filme bereitstellt.



Die VM wird erstellt aus debian-8.0.0-amd64-netinst.iso und bekommt eine CPU, 1GB RAM und 6GB Platte.

Das Basis-System wird wie immer aufgesetzt.

Damit die VM das VLAN42 erreichen kann, wird ein weiteres Interface angelegt in:
sudo nano /etc/network/interfaces
und dort zufügen von:
auto eth0.42
iface eth0.42 inet dhcp
  vlan-raw-device eth0
  post-up route del default; route add default gw 192.168.178.1

Wobei VLAN42 das offene WLAN und 192.168.178.1 die Fritzbox ist.


Danach ist der NFS-Share vom USB-Stick zu importieren.
sudo nano /etc/fstab
und  zufügen:
11w:/usb128gb  /nfs         nfs      defaults         0      0
11w:/usb128gb ist der NFS-Share, der unterhalb von /nfs eingehängt werden soll.

Dann brauchts noch einen:
sudo apt-get install autofs

Und danach:
sudo nano /etc/auto.master
 zufügen:
/-    /etc/auto.mount
Sowie:
sudo nano /etc/auto.mount
 zufügen:
/nfs -fstype=nfs,r  11w:/usb128gb
Nach einem Reboot sollte der Inhalt des USB-Sticks nun unterhalb von /nfs verfügbar sein.


Dann noch:
sudo apt-get install minidlna

nano /etc/minidlna.conf

wobei ich in minidlna.conf folgende Einträge bzw. Änderungen vorgenommen habe:
media_dir=V,/nfs
network_interface=eth0.42
friendly_name=Jessie_DLNA
serial=681019810597113
inotify=yes
Der Rest steht auf Default-Werten.


Um neu auf den USB-Stick geladene Dateien für den Fernseher sichtbar zu machen, braucht es noch ein kleines Script zum Neueinlesen der Dateien:
#!/bin/bash
sudo minidlnad -R
sudo systemctl restart minidlna.service
Das ist immer dann aufzurufen, wenn unter /nfs Dateien zugefügt oder gelöscht wurden.

Damit klappt das jetzt sehr viel besser, als seinerzeit mit Kodi.
Allein schon deswegen, weil jetzt nur noch eine Fernbedienung gebraucht wird.
Für Kodi musste ich immer erst das Tablet suchen und dann darauf das Programm "Yatse" oder "AndMote XBMC" starten....


Nachtrag:
Wenn der DNLA-Server von Clients nach einiger Zeit nicht mehr gefunden wird, ist auf dem Hypervisor (alias KVM-Host) einzustellen:
/sys/devices/virtual/net/br0/bridge # echo 0 >multicast_snooping
bzw dauerhaft:
echo 'net.br0.bridge.multicast_snooping=0' > /etc/sysctl.d/35-minidlna_no_snoop.conf
Wobei das br0 natürlich durch das jeweils genutzte Interface zu ersetzen ist.
Siehe dazu auch dies hier.