Hallo liebe Leserinnen und Leser!
In diesem Tutorial möchte ich euch zeigen, wie ihr ganz einfach einen kleinen DLNA-Server auf eurem Banana/Raspberry Pi installieren könnt. Damit könnt ihr eure Musik-/Video-/Foto-Bibliothek auf der Festplatte/USB-Stick/etc. an eurem Banana/Raspberry Pi allen im Netzwerk befindlichen Geräten, auf denen ein DLNA-Client läuft, verfügbar machen.
Grund für mich, einen DLNA-Server einzurichten, war die Diskrepanz zwischen verfügbarem Speicher auf meinem Handy und der Größe meiner Musikbibliothek. Mit dieser Lösung habe ich zumindest zu Hause dann auch mit meinem Smartphone und Tablet Zugriff auf die gesamte Musikbibliothek.
Ich hatte zuvor etwas mit dem proprietären Apple-Protokoll DAAP mit forked-daap auf meinem Banana Pi experimentiert, leider aber waren die Clients für die mobilen Geräte mit Android oder iOS entweder nicht lauffähig (bzw. nicht funktionierend) oder recht langsam, sodass ich relativ schnell auf DLNA umgestiegen bin. Zudem lässt sich DLNA wesentlich einfacher installieren, sodass hier auch Anfänger zum Ziel kommen sollten.
Als System nutze ich hier wieder einen Banana Pi mit aktuellstem Bananian-Betriebssystem und einem eingerichteten Benutzer „pi“. Bei einem anderen Setup müssen die Befehle eventuell angepasst werden. Dieses Tutorial kann auch auf einem Raspberry Pi durchgeführt werden und sollte hier analog umsetzbar sein.
Kommen wir nun zu der Schritt-für-Schritt-Anleitung:
1. Installation und Konfiguration von MiniDLNA
Als DLNA-Server habe ich mich für „MiniDLNA“ (bzw. in den neueren Versionen „ReadyMedia“) entschieden, da dies ein recht schlanker Server ist, der sich einfach installieren und konfigurieren lässt und zudem für meine Bedürfnisse voll ausreicht.
Die Installation von MiniDLNA ist hier sehr simpel, da das benötigte Paket direkt in den Debian-Paketquellen enthalten ist. Es handelt sich zwar um eine etwas ältere Version, bisher konnte ich allerdings keine Probleme damit feststellen. Wen der Changelog interessiert: Ihr findet ihn hier.
Um MiniDLNA aus den Paketquellen zu installieren müsst ihr nur
1 | sudo apt-get install minidlna |
ausführen. Damit ist MiniDLNA bereits auf eurem Banana oder Raspberry Pi installiert.
Um MiniDLNA zu konfigurieren, öffnet ihr die Datei „/etc/minidlna.conf“ mit einem Editor eurer Wahl, also z.B. über sudo nano /etc/minidlna.conf.
Dort ändert ihr zuerst einmal die Medienverzeichnisse (Zeilen beginnend mit „media_dir“) entsprechend den Pfaden, auf denen eure Mediendateien zu finden sind. Habt ihr separate Ordner für Musik, Videos und Bilder, so könnt ihr mit dem Prefix „A“ für Musik, „V“ für Videos und „P“ für Bilder das gleich mit angeben. Bei mir liegen die Ordner auf einer externen Festplatte, die unter „/mnt/Daten“ gemountet wurde. Meine Einträge in der MiniDLNA-Konfigurationsdatei sehen also folgendermaßen aus:
1 2 3 4 5 6 | # Musik media_dir=A,/mnt/Daten/Musik # Videos media_dir=V,/ mnt/Daten/Videos # Bilder media_dir=P,/mnt/Daten/Bilder |
Falls ihr nur einen Medientyp habt, also z.B. nur Musik, könnt ihr die anderen Einträge auch erst einmal weglassen. Solltet ihr später auch z.B. Filme streamen wollen, reicht es, diese Einträge nachträglich zu ergänzen.
In der Zeile beginnend mit „friendly_name“ könnt ihr noch einen Namen für euren DLNA-Streaming-Server angeben, z.B. so:
1 | friendly_name=BananaDLNA |
Ansonsten sollten die Standardeinstellungen soweit passen für die grundsätzliche Funktion. Um die anderen Einträge zu verstehen, hilft es die jeweils darüberstehenden Kommentare in der Konfigurationsdatei zu lesen. Diese sind recht verständlich geschrieben, sodass hier keine Unklarheiten auftreten sollten.
Um die Änderungen zu übernehmen, müsst ihr MiniDLNA noch neu starten über
1 | sudo service minidlna restart |
Jetzt sollte MiniDLNA gestartet sein und anfangen, eure Medien zu indizieren. Es wird praktischerweise auch ein minimalistisches Webinterface mitgeliefert, dass über die
Anzahl der gefundenen Medien Auskunft gibt. Ihr erreicht es über die IP-Adresse eures Banana/Raspberry Pi unter dem Port 8200. Also einfach einen Browser öffnen und [IP]:8200 eingeben.
2. Streamen der Medien auf Android-Geräte
Für Android-Geräte gibt es einige DLNA-Clients, der gängigste davon dürfte BubbleUPnP sein, der in der Grundversion kostenlos ist. Unter Android 5 hatte ich leider einige Probleme mit dem Streamen mit der aktuellsten Version und nutze daher mittlerweile AllConnect, welches komplett kostenlos ist.
Die Screenshots hier basieren aber auf BubbleUPnP, da dieser Client weiter verbreitet ist. Das hinzufügen des Banana/Raspberry Pi als Quelle ist bei jedem Client etwas anders, aber die meisten sollten euren MiniDLNA-Server sofort erkennen.
Bei BubbleUPnP wird der Server in der Seitenleiste unter „Library“ angezeigt und ihr könnt ihn dort als eure Medienbibliothek auswählen, idem ihr darauf tippt:Anschließend könnt ihr die Medienart auswählen, die ihr konsumieren wollt, z.B. Musik. Hier wird vom DLNA-Server die Struktur vorgegeben:
In der Albenübersicht könnt ihr durch eure Alben scrollen. Dabei wird – sofern ihr die Bilder mit richtigem Namen (siehe MiniDLNA-Konfigurationsdatei) im jeweiligen Alben-Ordner habt – auch das Cover des Albums angezeigt:
Ihr könnt nun ein Album wie mit einer lokalen Musikwiedergabe-App öffnen und die Songs hören:
Hinweis: Der DLNA-Standard erlaubt nach meinen Recherchen nur Alben-Cover mit 160×160. Daher sieht das Cover hier etwas pixelig aus. MiniDLNA konvertiert eure Alben-Cover automatisch auf diese Größe, um dem Standard gerecht zu werden. Die konvertierten Bilder findet ihr unter „/var/lib/minidlna/art_cache[+jew. Ordnerstruktur]“. BubbleUPnP beispielsweise akzeptiert auch größere Cover, sodass ihr die hier angelegten JPEG-Dateien auch mit höher auflösenden Fotos ersetzen könnt.
3. Streamen auf iOS und andere Geräte
Natürlich können nicht nur Android-Geräte als DLNA-Streaming-Clients fungieren, sondern auch iOS und andere Geräte.
Unter iOS gibt es ebenfalls mehrere Apps, die das Streamen von MiniDLNA erlauben. Eine sehr beliebte App wäre media:connect, die ich auch selbst auf meinem iPad einsetze. Es gibt noch eine Reihe anderer Apps, sodass ein Blick in den AppStore und eine Suche nach „dlna“ hier hilfreich ist, eine geeignete App zu finden.
Auch das Amazon Fire TV kann Inhalte von MiniDLNA streamen. Das geht beispielsweise mit der App Vimu Player, welche schmale 1,10€ kostet. Die Bewertungen sind zwar nicht sehr gut, allerdings hatte ich bisher noch keine Probleme mit der App. Solltet ihr eine bessere App kennen, immer her mit euren Tipps!
Ebenfalls können viele moderne Smart-TVs Inhalte via DLNA streamen. Ob euer TV dazu zählt, überprüft ihr am Besten auf der Herstellerseite.
Und nun: Viel Erfolg bei der Umsetzung!
Bei Fragen, Probleme, Anregungen, Tipps etc. könnt ihr wie immer das Kommentarfeld unten benutzen.
Danke für das Tutorial,aber es wird mit (sudo apt-get install minidlna) die ur alte Version von minidlan instaliert.
Mit (wget http://dev.shyd.de/dockstar/minidlna-1.1.4-1-arm.deb) wird die neuste Version Instaliert
wo viele Bugs behoben sind,ist die neuste Version.
Link: http://dev.shyd.de/2011/08/minidlna-dockstar-dlna-server/
Link 2: https://everbit.wordpress.com/2013/04/01/minidlna-on-the-raspberry-pi/
Hi Philippe,
danke für den Link! Ja, das stimmt. Über die Debian-Quellen erhält man eine etwas ältere Version von MiniDLNA. Das praktische daran ist, dass für die Version aus den Paketquellen alle benötigten Bibliotheken auch in den Quellen enthalten sind und automatisch installiert werden.
Bei deinem verlinkten Paket zeigt mir dpkg z.B., dass es von der Bibliothek „libavformat54“ abhängt. Diese ist leider nur in der „unstable“ (sid) Quellen von Debian. Zudem hängt diese wiederum von anderen Bibliotheken ab, die wieder nur in den unstable-Quellen zu finden sind. Daher ist die Installation der neuen Version wesentlich aufwendiger bzw. man muss sein System auf die „unstable“-Quellen umstellen.
Ich habe mir testweise auch mal die neue Version kompiliert und auf meinem Banana Pi installiert. Für meinen Gebrauch konnte ich allerdings keine Unterschiede feststellen.
Ob es den Aufwand wert ist, die aktuellste Version zu installieren, sollte jeder für sich entscheiden. Am Besten ist da wohl ein Blick in den Changelog, den ich im Artikel verlinkt habe.
Auch von mir ein Danke für die Anleitung! Hat prima geklappt auf meinem Banana Pi. Ich hätte da aber noch eine Frage: Meine Medien sind auf einer Festplatte am SATA vom Banana. Jetzt möchte ich gerne, dass die sich automatisch nach einer Stunde Nichtbenutzung ausschaltet. Hab da mal was von hdparm oder so gelesen, leider blicke ihc da nicht ganz durch.
Weißt du da zufällig was?
Hi Garry,
hier findest du ein recht ausführliches Tutorial zur Anwendung von hdparm. Hat mir selbst schon sehr geholfen ;)
Danke für den Beitrag! Gibt es irgendwo eine Liste für Clients auf verschiedenen Plattformen?
Hi Georg,
auf Wikipedia findest du so eine Liste. Leider weiß ich nicht, wie aktuell diese ist, aber einen Blick wert dürfte sie sein ;)
Danke für das Tutorial! Funktioniert alles, bis auf ein Pfad. Ich habe mehrmals überprüft ob ich einen Schreibfehler drinnen hatte, nicht der Fall. Ich habe BitTorrent Sync auf meiner BP laufen und wollte den Ordner meinen iPhone Foto Backups freigeben, kriege aber immer die Fehlermeldung dass der Pfad nicht existiert.
Meinst du das hat mit den Rechten der einzelnen Benutzer zu tun?
Danke!
Hey Julian,
merkwürdig. Du kannst natürlich einmal die Rechte des Ordner prüfen (ls -l in dem Verzeichnis bzw. Überverzeichnis), um zu sehen, ob alle User zumindest lesenden Zugriff darauf haben.
Ansonsten kannst du mal einen Blick in den minidlna-Log werfen (sollte standardmäßig unter /var/log zu finden sein), eventuell findest du dort eine genauere Fehlermeldung.
hallo Alex,
erstmal super Anleitung, geiler Blog, klasse Arbeit kurz gesagt.
nun zu meiner Frage:
– ich habe einen Banana Pi und würde diesen gerne als NAS Server inkl. DLNA nutzen.
Ich habe mir hierzu für Openmediavault als Betriebssystem entschieden, da es eine schön gestaltete Weboberfläche hat. nur bekomme ich hier nicht den miniDLNA zum laufen, ich muss auch dazu sagen das ich jetzt nicht unbedingt fit bin mit Linux und der ganzen einstellerei, aber ich bin gewillt das was ich mir in den Kopf gesetzt habe auch umzusetzen.
Kennst Du dich mit der OMV software aus? kennst du diese überhaupt? und wenn ja kannst du mir helfen meine Banane in ein DLNA fähiges NAS umzuwandeln? (eine SATA Festplatte ist vorhanden)
Hi Michael,
leider habe ich mit OMV bisher noch nicht gearbeitet, es scheint aber ein MiniDLNA-Plugin zu geben. Wie man das ganze aber auf deinem System konfiguriert kann ich dir leider nicht sagen – ich habe bisher nur mit Bananian auf dem Banana Pi gearbeitet.
Hi Alex,
danke für die Antwort.
Könntest du mir vielleicht etwas empfehlen um mein vorhaben zu realisieren?
Kurz gesagt hätte ich einfach gerne ein DLNA fähiges NAS um auch Filme/Musik von meiner Festplatte auf dem BluRay Player abzuspielen.
Hallo Michael,
ich denke OMV ist für den Einsatzzweck schon ganz gut geeignet. Hast du das Plugin mal probiert?
Ansonsten kann Bananian sicher auch alles, was du benötigst – der Konfigurations- und Wartungsaufwand dürfte hier allerdings um einiges größer sein.
Ich werde mal auf einer anderen SD Karte Bananian ausprobieren, da ich auch mit dem Plugin immer die fehler meldung mit einem defekten Paket bekomme.
Habe OMV schon komplett neu aufgespielt und es hat auch nichts gebracht.
naja ist ja auch eher ein Spielzeug also versuchen wir mal weiter, einfach ein NAS mit DLNA kaufen kann ja jeder ;-)
also habe jetzt das ganze mal versucht mit Bananian, mir stürzt der Pi beim installieren von minidlna ab.
Er geht einfach aus
Hallo Michael,
sehr merkwürdig. Ist dein Netzteil ausreichend dimensioniert und lässt dein USB-Kabel genug Strom durch?
also ich verwende ein Samsung 2A ladegerät vom Galaxy s5.
Das bringt 2A sollte also reichen
Hi Michael,
das Problem bei den Ladegeräten ist oft, dass das was draufsteht nicht unbedingt das ist, was man erwarten kann. Der Banana Pi ist da sehr anfällig für unzureichende Spannung (habe eine Festplatte und einen Arduino angeschlossen – mit beidem startet er nicht mehr, trotz 2A NT, dass unbelastet 5,2V liefert und unter Last (1,8A) immer noch ca. 4,9V; Problem ist bei mir das USB-Kabel).
Ansonsten klingt das Verhalten für mich nach einem Hardwaredefekt (SD-Karte, RAM etc.).
danke für deine schnelle Antworten.
werde mal ein anderes Netzgerät + Kabel testen.
kann die Hardware vom Banana getestet werden?
Hi Michael,
das mit dem Harwaretest von Einplatinencomputern ist immer so eine Sache… man findet auf die Schnelle kaum Dokumentation darüber.
Beim pcDuino, der auch auf ein Allwinner SoC setzt, kann beim Booten eingegriffen werden über die UART-Schnittstelle. Ich meine dort RAM-Test etc. gesehen zu haben. Der Banana Pi sollte die Schnittstelle grundsätzlich auch unterstützen (siehe hier). Das wäre die „sauberste“ Möglichkeit, die Hardware durchzuchecken. Du benötigst dafür allerdings einen entsprechenden Adapter zum Anschluss an den PC.
Alternativ sollte „memtester“ auch auf dem Banana Pi laufen. Damit lässt sich der RAM direkt im Betriebssystem überprüfen.
Davor würde ich aber noch einen Blick in den Systemlog nach Abstürz werfen, mit etwas Glück finden sich darin wertvolle Informationen für die Fehlersuche (zu finden unter /var/log/syslog).