Raspberry Pi Fernsehen mit TvHeadend

Viele TV Receiver laufen mit Linux und relativ schmalem Prozessor, warum also sollte sich der Raspberry Pi nicht auch als digitaler Videorekorder oder als TV Streaming Server eigenen? Mit der richtigen Hardware kann auch ein RasPi das Heimnetzwerk mit Streaming, TV Aufzeichnungen und Timeshift Wiedergabe versorgen. In diesem Artikel zeige ich euch wie wir recht preisgünstig, die richtige Hardware vorausgesetzt, aus dem RasberryPi mit Hilfe von Tvheadend einen kleinen Server für Streaming, Aufzeichnungen und zeitversetztem Fernsehen basteln. Wir verwenden als Basis das Raspbian Betriebssystem, als Alternative kann auch OpenElec verwendet werden, hier spart man sich die nicht sehr aufwändige Installation von TvHeadend.

Neuer Beiträge zum Thema

Inhaltsverzeichnis

Was ist TvHeadend?

Tvheadend ist ein TV-Streaming-Server für Linux, welcher DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV und Analog-Video unterstützt. Die Konfiguration erfolgt über ein Webinterface, welches sich im Browser aufrufen lässt. Die Wiedergabe erfolgt dabei z.B. über XBMC. Es ist möglich, Tvheadend so zu konfigurieren, dass man mit jedem PC im Netzwerk das TV-Signal des TvHeadend Servers empfangen kann. Zum Beispiel kann man den RasPi mit TvHeadend perfekt als Backend für andere RasPis oder Media Center Systeme nutzen, diese holen sich dann einfach das Live Fernsehsignal oder die Aufnahmen vom Backend mit TvHeadend ab. Als FrontEnd zur Wiedergabe sind zum Beispiel Tablets, Computer, Smartphones, Linux Receiver oder ein weiterer RasPi mit XBMC denkbar.

Benötigte Hardware

Bitte achtet unbedingt darauf das ein guter und funktionierender aktiver USB-Hub und ein gutes Netzteil verwendet wird.

Benötigte Software

Als Betriebssystem verwenden wir Raspbian, die Streaming und Aufzeichnungsfunktion stellt uns die TvHeadend Software bereit.

Hardware zusammenstöpseln

Raspi Anschlüsse

Verbindet den USB-Hub mit dem Strom, schließt dann die Antenne (DVB-C / DVB-S2 / DVB-T) an euren USB-Stick an und steck diese in den USB-Hub. Danach kann der RasPi mit dem Hub und dann mit dem Strom verbunden werden. Es gibt auch USB-HUBs die den RasPi mit Strom versorgen können, hier gilt das gleiche Vorgehen (auf die Richtige Verkabelung achten).

Raspbian vorbereiten

Es ist natürlich wichtig das eurer RasPi aktuelle Software und Firmware hat um unnötige Probleme zu vermeiden, bevor wir starten sollte daher Raspbian aktualisiert werden. Verbindet euch mit SSH auf euren RasPi und aktualisiert das System wie folgt:

Externen Speicher einrichten

Falls ihr gerne die Timeshift und Aufnahmefunktion mit eurem RasPi benutzen wollt benötigt ihr einen externen Speicher. Das kann zum Beispiel ein großer USB-Stick oder eine USB-Festplatte sein.

Damit Medien mit speziellen Dateisystemen eingebunden werden können müssen evtl. Treiber hierfür installiert werden.

Wir legen nun einen neuen Ordner im Verzeichnis „/mnt“ an. In dieses wird später das USB-Gerät gemountet. Ich nenne den Ordner „usbstorage“. Es dürfen keine Sonder und/oder Leerzeichen enthalten sein. Das Verzeichnis kann aber auch „usbdisk“ oder ähnlich benannt werden.

Bevor wir den Stick oder die Platte anschließen, schalten wir die Ausgabe des Systemlogs mit dem folgendem Kommando ein („-f“ bewirkt dass alle weiteren Meldungen ausgegeben werden, ohne tail zu beenden):

Wenn wir nun ein USB-Medium anschließen werden passende Log Einträge dazu angezeigt z.B.:

Die letzte Zeile in meinem Beispiel „sda: sda1“ zeigt welchem Block Gerät (sda) und welcher Partition (sda1) das angesteckte USB-Medium zugeordnet wurde. Diese Angabe benötigen wir für das Einhängen des neuen Gerätes. Mit [Strg]+[C] kann tail beendet werden.

Nachdem wir nun den Namen des USB-Geräts kennen können wir den dieses mit folgendem Kommando einbinden. Sda1 durch den Namen des USB-Geräts und /mnt/usbstorage/ durch euren erstellten Ordner (falls ihr einen anderen Namen verwendet habt) ersetzten.

Treiber für den TV Stick installieren

Abhängig davon welches Gerät ihr von den DVB-Empfang verwendet müssen unter Umständen noch Treiber am RasPi installiert werden. Im Falle der Sundtek Empfänger, welche ich in diesem Beispiel verwende, ist das so. Die Treiber für Linux und Infos zur Installation gibt es auf den Webseiten der Hersteller, oftmals hilft es auch google als Informationsquelle für sein spezifisches Gerät zu verwenden.

Teriberinstallation für die Sundtek DVB Sticks:

Nach Abschluss der Installation kann über folgenden Befehl geprüft werden ob der Stick vom RasPi erkannt wurde. Die Ausgabe sollte euren Stick anzeigen.

Wir eure Stick erkannt sollten wir, falls das Gerät mehrere DVB Standards beherrscht, noch einstellen welchen wir verwenden möchten.  In meinem Fall kann der Sundtek Stick DVB-T (Terrestrisch) und DVB-C (Kabel). Für DVB-C verwendet „DVBT“ und für DVB-C „DVBC“.

Treiber für meinen Haupauge WinTV MiniUSB

Um diesen Stick zu betreiben wird lediglich die Firmware benötigt.

TvHeadend installieren

Mit Hilfe von TvHeadend machen wir unseren Rasberry Pi jetzt zum Videorekorder und Streaming Server. Als erstes fügen wir das Repository des TvHeadend Projekts zur Datei /etc/apt/sources.list hinzu, von diesem holen wir uns die notwendigen Installationspakete ab.

Wir fügen ans Ende der Datei das Repository über folgende zusätzliche Zeile hinzu, dazu verwenden wir den Editor nano

Gespeichert wird mit STRG-X, Enter und Y.

Jetzt aktualisieren wir noch unsere Paket-Liste via update und installieren uns den GPG Key um der Quelle zu vertrauen

Dann installieren wir direkt das TvHeadend Paket aus dem Repository. Apt installiert uns auch direkt alle abhängigen Pakete (80MB gesamt) sodass der Installationsvorgang einige Minuten dauert

Das Setup fragt uns direkt nach einem Benutzer der für die TvHeadend Administration via Webinterface eingerichtet werden soll, ich habe mich für admin entschieden mit einem sicheren Passwort entschieden.

tvheadend installation

Das Setup präsentiert uns dann noch die Information wie wir die Admin-Seite nach der Installation erreichen können. Bei mir ist das http://localhost:9981 falls ihr nach der Installation die Admin-Seite von einem anderen Rechner aufrufen möchtet könnt ihr localhost durch die IP-Adresse eures Raspberry Pi ersetzen. Also zum Beispiel

tvheadend installation

Da ich meinen RasPi „Headless“ also ohne Tastatur und Monitor betreibe habe ich die Seite von meinem Windows Rechner aufgerufen. Tippt hier in eurem Browser  wobei ihr die IP-Adresse durch die eures Raspberry Pi ersetzen müsst.

tv-headend4

Das war auch schon die Installation, TvHeadend startet nun nach jedem Neustart eures RasPi automatisch.

TvHeadend einrichten

Nachdem die Installation abgeschlossen ist kann TvHeadend über einen Browser von einem beliebigen Rechner, der sich natürlich im selben Netz befinden muss, eingerichtet werden. Wer eine Fritzbox hat kann die Weboberfläche ganz einfach über http://raspberrypi:9981 erreichen. Klappt das nicht verwendet ihr die IP-Adresse eures Raspberry Pi http://<Eure-Ip-Adresse>:9981 (anzeige via „ifconfig“). Die Anmeldung erfolgt mit dem bei der Installation angelegten Benutzer.

Um die verfügbaren Sender zu suchen, klickt man auf den Reiter Configuration, DVB Inputs und TV Adapters.

tvheadend-config-tv-adapter

Im linken Dropdown-Menü über General kann nun euer DVB-T Stick ausgewählt werden. Unter Adapter configuration macht man einen Haken bei Enabled, Autodetect muxes und klickt auf Save.

tv-headend5

 

Danach habe ich noch das passende DVB-Netz über „Add DVB Network by location“ hinzugefügt und über „Save“ gespeichert. Jetzt tauchen unter „Multiplexes“ neue Einträge auf.

tv-headend6

Nun beginnt der Sendersuchlauf. Auf der rechten Seite kann man nun den Fortschritt der Sendersuche (Muxes awaiting initial scan) verfolgen. Eure Antenne sollte natürlich angeschlossen sein und ein gutes Signal haben.

Achtung! Das Scannen dauert unter Umständen mehrere Minuten, last dem System die Zeit den Suchlauf zu beenden.

Sollte etwas nicht klappen könnt ihr rechts unten den System Log anzeigen lassen und überprüfen wo der Fehler liegt.

tv-headend7

 

Nach einer weile tauchen dann unter Services die Kanäle auf und ihr könnt diese über MAP in eure Kanal Liste übertragen.

tv-headend8

 TvHeadend Clients

Wer bereits einen TvHeadend Server aufgesetzt hat möchte sicherlich nun auch verschiedene Endgeräte mit dem TV-Stream versorgen. Als Protokolle für die Client Software haben wir die Wahl zwischen HTTP- und HTSP-Protokoll Streams.

Wer die Möglichkeit hat ein Client Software mit Home Tv Streaming Protocol Unterstützung zu verwenden sollte sich für diese Variante entscheiden, neben dem Live Stream überträgt das Protokoll unter anderem auch EPG Informationen.

Der wohl am häufigsten verwendete CLient ist der TvHeadend Client für die Media Center Distribution XBMC / Kodi. Die Einrichtung ist recht simpel

  1. Über die Settings-> Add-ons -> Enabled add-ons -> PVR Clients un dort das Tvheadend add-on auswählen
  2. Über „Configure„die Einrichtung starten
  3. Dort tragen wir die IP-Adresse unseres RasPi mit der TvHeadend Installation ein, ist der Server auf dem selben Pi kann 127.0.0.1 verwendet werden
Tvheadend_HTSP_Client.settings

Weitere Clients gibts auf der tvheadend Seite.

In den nächsten Tagen werde ich das Tutorial nochmal überarbeiten und erweitern, bis dahin viel Spaß!