Dieses Blog durchsuchen

Samstag, 9. Februar 2013

[Aktuell] Raspberry Pi als Medienserver für Smart-TV's

Hi.

Aus aktuellem Anlass möchte ich jetzt mal auf die Lösung eines kleinen Problemes eingehen welches mich die letzten Tage erreichte.

Viele nutzen ihren Raspberry Pi als Fileserver, da dieser wunderbar dafür geeignet ist. Er ist klein, leise und stromsparend. Geradezu perfekt für diese Anwendng im Heimbereich. Jedoch sei gesagt das er auch etwas unterdimensioniert ist wenn es Dinge wie Raid 1 geht. Somit ist der Pi für Datensicherungen ungeeignet.

Darum soll es hier aber auch garnicht gehen. Wir schauen uns mal an in wieweit wir die kleine Himbeere dazu bekommen unsere Filme an den Fernseher zu schicken.

Als erstes vorweg: Jeder Hersteller hat für die Einbindung ins Nezt einen eigenen Namen. Bei Samsumg heist es zum Beispiel "Samsung Allshare." Dahinter verbirgt sich nichts weiteres als DLNA. Was DLNA bedeutet und woher es kommt soll uns hier erstmal nicht interessieren. Heute geht es rein um die Anwendung auf dem Pi.

Um den Pi DLNA fähig zu machen bedarf es als Grundlage erstmal nicht viel. Wir brauchen das Betriebssystem und ein Netzwerk in welches wir den Pi hängen. Ob wired oder wireless ist im Grunde egal.

Als Betriebssystem habe ich mich für das standard System Raspian "Wheezy" entschieden, da es alles zur Verfügung stellt was man so braucht. Netzwerktechnisch hängt mein Pi ganz simpel per Kabel am Router.


Kommen wir nun dazu die kleine Himbeere DLN fähig zu machen.

Dazu verwenden wir den kleinen Serverdienst "MiniDLNA" Diesen können wir rein aus dem Terminal installieren und konfigurieren.

Wir Installieren ihn einfach mittels.

sudo apt-get install minidlna

und bestätigen die folgende Nachfrage mit "yes"


1. Die Konfiguration

Nachdem wir nun den Serverdienst installiert haben müssen wir ihn konfigurieren. Dazu dient die Datei "/etc/minidlna.conf" Diese öffnen wir als root.

sudo nano /etc/minidlna.conf

Nicht erschrecken. Sehr viel von der Konfigurationsdatei ist einfach nur Text zur Dokumentation.
Für uns sind folgende Einträge wichtig.

media_dir=
network_interface=
friendly_name=
inotify= 


Die anderen Einträge wie IP-Adresse sind optional und dienen der erweiterten Konfiguration und werden von uns erstmal nicht beachtet. Wenn ihr allerdings den Ort der Datenbank selber festlegen wollt oder festlegen wollt das der Server nur auf eine bestimmte IP hört sind diese Optionen für euch interessant.

Wenden wir uns aber nun dem ersten Konfigurationspunkt zu. Dem festlegen der Ordner.
Sicherlich habt ihr eure Videos, Musik und Fotos auf einer externen Festplatte am Pi angeschlossen. Dabei ist jetzt wichtig wohin ihr diese Platte gemountet habt. Wir nehmen hier mal folgendes an.
  • Die Platte hat eine Partition: SDA1
  • Auf der Platte befinden sich die Ordner: Musik, Videos, Fotos
  • Die Partition ist in "/media/USB" gemountet
Wenn wir dem Server nun sagen wollen wo er welche Dateien findet stehen uns 3 Optionen zur Verfügung.
  • "V" für Video
  • "A" für Audio
  • "P" für Fotos
Demnach bearbeiten wir die Konfigurationsdatei folgendermaßen. Den Eintrag

media_dir=/opt

ändern wir in

media_dir=V,/media/USB/Videos

Danach ergänzen wir die anderen Ordner auf die gleiche Weise, sodass unsere Konfiguration folgendermaßen ausschaut.

media_dir=V,/media/USB/Videos
media_dir=A,/media/USB/Musik
media_dir=P,/media/USB/Fotos


Jetzt weiß unser Server wo er nach den Dateien suchen muss. Damit er dies auch regelmäßig tut verwenden wir die Option

inotify=

ein einfaches "yes" hinter das "=" und schon sucht er automatisch nach neuen Daten.
Noch ist unser Server aber nicht von außen erreichbar. Dem Wenden wir uns jetzt zu.
Die Option

network_interface=

bearbeiten wir indem wir ihr einfach unsere Netzwerkschnittstelle angeben. Standardmäßig ist das "eth0", wer WLan benutzt sollte vorher mit

ifconfig

nachschauen wie sein WLan interface genannt wird. Meist ist dies jedoch "wlan0"
Unsere Option sieht nun folgendermasen aus.

network_interface=eth0

Jetzt weiß unser Server das er auf alles hören soll, was an unserer Netzwerkkarte ankommt.
Mit der Option

friendly_name=

legen wir lediglich den Namen des Servers fest. Solltet ihr den Pi bereits als Fileserver mit Samba verwenden empfiehlt sich den dort verwendeten Namen zu benutzen. Ansonsten sind eurer Phantasie keine Grenzen gesetzt. Bei mir sieht die Option nun so aus.

friendly_name=PiDLNA

Nun sind wir auch schon mit der Konfiguration fertig und können sie mittels "strg+o" Speichern und mit "strg+x" schliesen.


2. Der erste Start

Lesen wir nun unsere Dateien ein erstes mal ein. Dies geschieht ganz einfach mit

sudo -u minidlna minidlna -R

Je nach anzahl der Dateien kann das ne ganze Weile dauern.
Ist der kleine damit fertig starten wir den Serverdienst ein erstes mal mittels

sudo service minidlna start

Das stoppen erfolgt auf gleiche Art nur halt mit "stop"


3. Autostart

Das Automatische Starten könnt ihr auf unterschiedlichste Arten erledigen, sodass ich hier nur eine nennen will.
Ihr erstellt eine Datei namens "minidlna.conf" im Verzeichniss "/etc/init/"

sudo nano /etc/init/minidlna.conf

und kopiert folgendes Script hinein.

# DLNA Service

description "minidlna"

#change IFACE to the right interface, see /etc/minidlna.conf
start on net-device-up IFACE=eth0
stop on runlevel [!2345]

#respawn the process if it crashes
respawn

# tell upstart we're creating a daemon
# upstart manages PID creation for you.
expect fork

env ARGS='-f /etc/minidlna.conf'
env MINIDLNA='/usr/sbin/minidlna'

exec $MINIDLNA $ARGS 

Natürlich müsste ihr die Netzwerkschnittstelle "IFACE" auf eure Konfiguratiopn anpassen. Für unser Beispiel hier ist "eth0" aber genau richtig.


4. Testen

Wenn wir nun auf unserem Hauptrechner unsere Netzwerkumgebung öffnen sehen wir den neuen Server in unserem Netzwerk unter "Multimedia"

Öffnen wir diesen nun so öffnent sich nicht der Explorer sondern der Window Media Player und wir können den Server in der Linken Spalte auswählen und in Ruhe durch unsere Filme,Musik und Fotos suchen.



Funktioniert dies, so steht der anwendung am TV nichts mehr im Wege. Natürlich kann ich euch jetzt nicht erklären wie ihr euren TV einrichtet. Dazu müsst ihr immernoch die anleitung lesen oder es rein intuitiv machen ;)

Ich hoffe ich konnte euch ein wenig weiterhelfen und freue mich mit euch wenn es bei euch klappt.

MFG

Kai

1 Kommentar: