Raspberry PI als Media-Client

  • warning: Declaration of views_handler_field_user_name::init(&$view, &$data) should be compatible with views_handler_field_user::init(&$view, $data) in /srv/web/drupal6/sites/all/modules/views/modules/user/views_handler_field_user_name.inc on line 0.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /srv/web/drupal6/includes/unicode.inc on line 349.
Jan
19

Zwischen den Jahren habe ich Zeit gefunden, mich mit dem derzeit aktuellen Nerd-Spielzeug Raspberry Pi zu beschäftigen. Bestellt habe ich mir das Modell B mit 512 MB Hauptspeicher. Als weiteres Zubehör habe ich mir neben der 8 GB SD Card auch ein Gehäuse und ein USB-Netzteil gekauft. So ausgestattet konnte die Erforschung des Minicomputers beginnen.

Für die ersten Experimente habe ich den Raspberry über ein HDMI – DVI Kabel an einen normalen Computermonitor angeschlossen. Begonnen habe ich mit der Installation von Raspbian, einer an den Raspberry angepassten Version von Debian Wheezy. Das Image habe ich mittels dd auf meinem Linux Notebook auf die SD Card übertragen. Nach dem ersten Booten von dieser Karte meldete sich der Raspberry mit einem Textmenü zur Grundkonfiguration. Dort habe ich den SSH Server aktiviert und das Tool zur vollständigen Nutzung der Speicherkapazität der SD Card laufen lassen. Erfreulicherweise verhält sich Debian auf dem Raspberry nicht anders als auf meinen anderen Rechnern. Somit ist mir der Kleincomputer noch einmal so sympathisch wie eh schon.

Als ersten Projekt habe ich mir vorgenommen einen kleinen Media Client zu realisieren. Meine gesamten digitalen Medien (Bilder, Musik und Videos) liegen auf einem UPnP / DNLA Media-Server (Netgear ReadyNAS NV+).

bisher – Software im Fernseher

Schon bisher konnte ich auf diesen Medien-Server mittels meines Loewe Fernsehers zugreifen. Die hierzu im Fernseher eingesetzte Software wurde aber schon länger nicht mehr aktualisiert. So ist z.B. ein direktes „Springen“ in wiedergegebenen Videos nicht möglich. Auch wurde bereits vor einiger Zeit aus dem Loewe Media-Center die Wiedergabe von Videos aus YouTube entfernt. Ich hatte kurz überlegt, ob ich mir nicht ein Apple TV oder eine Google TV Gerät zulegen soll, überzeugt hat mich allerdings keines der beiden Geräte / Konzepte.

neu - XBMC

Den Media Client auf dem Rasperry Pi habe ich mittels des Media Centers XBMC realisiert. Diese Software lässt sich recht leicht durch die eigens hierfür erstellte Raspberry Pi Distribution Raspbmc installieren. Nach der Übertragung des Images mittels dd startet nicht direkt Debian mit dem Media Center. Das Image enthält vielmehr nur einen Installer, der die eigentliche Distribution aus dem Netz herunterlädt und installiert. Nach dem zweiten Booten steht dann aber sofort die Media Center Software in der Version Frodo (Version 12.0) zur Verfügung.

In der Grundkonfiguration kann XBMC nur Medien wiedergeben, die direkt auf einer lokalen Partition liegen. Mittels der UPnP/Media Quelle kann der Zugriff auf den Media Server sehr schnell eingerichtet werden. Der Zugriff auf meine Medien funktioniert ohne Probleme. Nach der Auswahl des Videos startet die Wiedergabe ohne Verzögerung. Bei Videos gibt es keine Ruckler oder Aussetzer. Der Ton wird einwandfrei wiedergegeben. Auch Filme im HD Format machen dem Raspberry keine Probleme.

weitere Medien Quellen

Zwei weitere sehr interessante Medien Quellen sind YouTube und Mediathek. Wie der Name schon vermuten lässt kann man über das erste Add-on von XBMC direkt auf Videos bei YouTube zugreifen. Hierzu steht eine Suchfunktion zur Verfügung. Einmal eingegebene Suchanfragen werden gespeichert und können jederzeit wieder abgerufen werden. Das zweite Add-on bietet direkten Zugriff auf die Mediatheken von ARD, ZDF, arte und Phoenix. Auch die Sendungen der Dritten Fernsehprogramme können „angezapft“ werden. Genauso wie schon beim YouTube Add-on bin ich hier mit der Qualität der gestreamten Videos sehr zufrieden. Die Add-ons scheinen die jeweils beste Qualität abzufragen. Wie auch schon bei den Videos vom Media-Server kann hier direkt in den Videos vor- und zurückgesprungen werden.

Bedienung über App

Bisher habe ich das Media Center über eine angeschlossene USB Tastatur bedient. Selbst eine schnurlose Tastatur ist aber natürlich keine angenehme „Fernbedienung“. Daher mache ich mich auf die Suche nach weiteren Möglichkeiten zur Bedienung von XBMC auf dem Raspberry. Zuerst habe ich mich nach kompatiblen Infrarot-Empfängern umgesehen. Hier werden von Raspberry bzw. Raspberry einige unterstützt.

Elleganter finde ich allerdings die Bedienung von XBMC über eine App auf dem iPhone / iPad oder meinem Nexus 7 Android Tablet. Die App verbindet sich hierzu über das Netzwerk mit dem WWW-Server von XBMC. Über die darüber zugängliche API können Steuerkomandos an XBMC übertragen werden. Die App kann aber auch Informationen wie die Auswahlliste der Medien abfragen.

Für iOS ist die offizielle und kostenlose XBMC App eine sehr gute Wahl. Die offizielle App unter Android ist bei weitem nicht so weit entwickelt und komfortabel. So kann die Android App nur die Fernbedienungsfunktion. Die iOS App hingegen bietet die Möglichkeit direkt auf die Mediendatenbank zuzugreifen, Medien für die Wiedergabe auszuwählen und auch mit Wiedergabelisten zu arbeiten. Einen vergleichbaren Komfort bietet unter Android jedoch die ebenfalls kostenlose App Yatse.

Bedienung über Fernsehfernbedienung

Aus lauter Zufall habe ich dann noch festgestellt, dass mein Loewe Fernseher nach der Auswahl des HDMI Anschlusses, an dem der Raspberry angeschlossen ist, diesen über standardisierte Kommandos steuern kann. So kann ich direkt mit den Navigationstasten der Fernsehfernbedienung durch das XBMC Menü wandern. Auch einige Sondertasten der Fernbedienung sind Funktionen von XBMC zugeordnet. Ich habe noch nicht herausgefunden, ob der entsprechende Standard direkt zu HDMI gehört oder ob es sich um eine allgemein anerkannte Erweiterung handelt.

Der Raspberry Pi ist seit der Installation und Konfiguration von XBMC an den Fernseher angeschlossen und darf nach Beschluss des „Familienrats“ auch nicht mehr entfernt werden. Der Media Center des Loewe Fernseher hat einen mehr als würdigen Nachfolger gefunden. Vor allem die mehr als komfortable Bedienung des Geräts über die App sind wirklich spitze. Genau so stelle ich mir die Zukunft des Fernsehers vor. Das Konzept der Smart TVs ist nichts für mich.