Wer häufier hier bei uns im Blog die Tutorials zum Raspberry Pi nachbaut, hat sicher noch einen Pi2 oder Pi3 in der Schublade liegen um diesen an den TV anzuschließen. XBMC, Kodi und Plex sind ja schon recht bekannt, doch wäre es nicht auch gut, wenn man das normale Fernsehprogramm über den Pi streamen könnte? Grundsätzlich ist das mit Kodi leicht zu realisieren. Das AddOn installieren, einrichten und los schauen – leider nicht. Meine Erfahrung ist, dass der Pi doch etwas zu schwach ist, um beides parallel abzufrühstücken.

Kodi und TV Server in einem, da kann es dann schnell zu unschönen Bildfehlern
kommen. Daher habe ich einen zweiten Pi2 für meinen TV-Server spendiert. In disem Tutorial möchte ich Euch gerne zeigen, wie man sich ganz bequem seinen eigenen TV-Server für Zuhause aufbauen kann. Als Eingangssignal kann DVB-C, DVB-T2 oder DVB-S genutzt werden. Doch dazu später mehr.

Benötigte Hardware

eBay Amazon ELV
Raspberry Pi2 Link  Link  —
Raspberry Pi3 Link  Link  Link
SD-Karte 16 GB Link  Link  Link
USB Dual Tuner DVB-S/T2/C Link  Link  —
USB Tuner DVB-S/T2/C Link  Link  —

Vorbereitung der SD-Karte

Wir wollen für dieses Tutorial ein leichtes und schlankes System nutzen, dass wenig Ressourcen frisst. Wir brauchen auch keine GUI (Grafik-User-Interface) also laden wir das aktuelle Raspbian Stretch lite System von raspberrypi.org herunter.

Der Download selber ist nur ca 370 MB. Der Vorgang dauert je nach Leitung zwischen wenigen Sekunden und mehreren Minuten :-)

Wenn der Download erledigt ist, muss das Image auf die SD-Karte gebracht werden. Auf dem Mac nutze ich dafür das Tool Apple Pi Baker.

Für PCs kann man Win32 DiskImager verwenden.

Die Nutzung der beiden Tools ist sehr intuitiv, das heruntergeladene Image wird ausgewählt und auf die eingelegte SD-Karte geschrieben.


Da bei den aktuellen Debian-Versionen SSH nicht standardmäßig aktiviert ist, müssen wir dies zuerst erledigen. Dazu findet Ihr eine Anleitung zuzm aktivieren von SSH hier im Blog.

Nachdem SSH aktiviert worden ist, können wir über Putty oder die Terminal App bei Mac auf den Pi zugreifen.

Die IP-Adresse des Pi’s bekommen wir am besten über die Fritz! Box oder einen Netzwerk-Scanner heraus. Ich verwende bei Windows den Soft Perfekt Scanner.

Auf dem Mac schreiben wir ins Terminal

Bei Putty

loggen wir uns mit dem User: pi und dem Passwort: raspberry ein.

Im Zweifel kommt eine Meldung „ECDSA key fingerprint is…“ dies bedeutet, dass die Identifikation des Raspberry noch nicht bekannt ist. Hier klicken wir auf „yes“ damit wird die Signatur des Pi’s auf unserem rechner gespeichert.

Nachdem wir nun eingeloggt sind, führen wir folgende Befehle aus:

„sudo“ bedeutet, dass wir den nachfolgenden Befehl als Admin ausführen.

1. Hier kann man Benutzernamen und Passwort ändern. Wenn andere Zugriff auf das eigene
Netz haben, sollte dieser Schritt unbedingt vollzogen werden.

2. Netzwerk Optionen: Hier kann z.B. der Name des Gerätes geändert werden.

3. Lokalisierung Optionen: Hier müssen wir als nächstes die Zeitzone einstellen. Die Sprache sollte man nicht ändern, das kann zu Problemen bei einigen Programmen führen. Hier lassen wir also alles so, wie es ist.

Die restlichen Optionen können wir unbeachtet lassen. Im Zweifel möchte der Pi nun einen
Neustarten durchführen. Das können wir bei unseren Einstellungen verneinen.

Nun müssten wir erstmal das System auf den neusten Stand bringen und die anstehenden Updates installieren. Das machen wir mit:

Der nächste Befehl lautet:

Jetzt wird es spannend! Der DVB-C/S/T2 Stick sollte zu diesem Moment an den Raspberry Pi gesteckt sein. Um dem Stick ansprechen zu können, benötigen wir einen passenden Treiber. In meinem Beispiel verwende ich 2 Win-TV-Solo Sticks.

Warum 2 Sticks? Ich verwende zwei Tuner, damit 2 Sender parallel geschaut oder aufgenommen werden können.So kann z.B. ein Sender geschaut und ein zweiter aufgenommen werden. Wenn mehrere Personen parallel auf das System zugreifen wollen, dann werden auch mehrere Empfänger benötigt.

Es kann auch die neuere Win-TV Version mit dual Tuner verwendet werden. Nun muss der passende Treiber gesucht werden.

Dazu geben wir in der Konsole bzw. Putty folgendes ein:

Nun werden alle Geräte aufgelistet, die an den Pi angeschlossen sind. Darunter auch der TV bzw. die TV Sticks. Solltet Ihr einen anderen Stick als den oben genannten verwenden wollen, muss nach der Firmware, die in rot erscheint im Internet gesucht werden. Die meisten Anbieter haben auch für Linux Treiber zum download. Diese enden meist mit *.fw

Für den oben genannten Stick habe ich Euch die Firmware heraus gesucht, die installiert werden kann. Das passiert über folgenden Befehl:

Kleine Info: Die hier verwendeten Treiber sind für den Solo und Dual Stick von Hauppauge geeignet!

Nun muss die Firmware in einen Ordner kopiert werden:

Anmerkung: cp“ kopiere. Man kann hier auch alternativ den „mv“ Befehl nutzen dann wird die Date verschoben. „dvb-demod-si2168-b40-01.fw“ den Namen der Datei die wir kopieren wollen. „/lib/firmware“ der Ort wo die Datei hin soll. Hierbei ist das erste „/„ sehr wichtig denn das ist quasi ein Shortcut zum Root-Verzeichnis. Lässt man das weg sucht er im Ordner dem man sich befindet das dem Ordner „lib“ und das kann natürlich nicht gehen.

Nun führen wir einen Neustart durch damit die Firmware geladen wird.

Zum Test, ob alles richtig funktioniert hat geben wir erneut

ein. Nun sollte downloading firmware from file ‚dvb-demod-si2168-b40-01.fw hinter dem Stick stehen. Ist dies nicht der Fall, ist bei der Installation etwas schief gelaufen oder Ihr habt den falschen Treiber installiert.

Jetzt können wir den TVHeadend Server installieren, der die TV-Sender dann über den Pi im Netzwerk bereitstellt.


Wir nutzen eine sogenannte „unstable“ Version für den Pi. Dies bedeutet, dass es die aktuelle Version ist, die noch nicht vollständig getestet ist – das soll uns aber nicht stören, da wir ja den vollen Funktionsumfang nutzen wollen.

Wir müssen zuerst die Quelle (wo wir die Version herbekommen) als vertrauenswürdig einstufen. Das machen wir über folgende Befehle:

Wir nehmen zum Verständnis den etwas längeren Weg und bearbeiten die Liste der Quellen für
Programme selber.

Wir tippen folgenden Befehl ein.

In die Datei fügen wir nun folgende Zeile ein:

Gespeichert wird die Datei dann mit „ctrl+o“ wie Write Off dann einmal Enter drücken um den
Dateinamen zu bestätigen und das Programm mit „ctrl+x“ schliessen.

Nun müssen wir die Programmliste noch einmal aktualisieren mit:

Danach müssen wir die xmldv Utilitys installieren:

Dann brauchen wir noch die SSL Library:

Nun können wir endlich den TVHeadend Server installieren:

Bei der Installation werden wir nach Benutzername und Passwort gefragt. Dieses sollte Ihr Euch unbedingt merken!

Am Ende der Installation können wir endlich mit der Konfiguration beginnen.

Wir geben im Browser dazu einfach die IP Adresse oder den Namen „raspberrypi.local“ (Falls ihr den nicht geändert habt) mit „:9981“ ein.


Wir werden nun aufgefordert den soeben angelegten Benutzer mit dem zugehörigen Passwort einzugeben.

Sobald wir eingeloggt sind, startet der Wizard und leitet uns durch die restliche Installation.

Hier wählen wir die Sprache für das WebInterface und das EPG aus.


Hier tragen wir einfach die Benutzer und Passwörter ein. Man kann ruhig bei beiden das gleiche nehmen.


Nun die Tuner auswählen die man haben möchte. Ich habe 2 Sticks angeschlossen, darum werden mit 5 Tuner angeboten

1x IPTV und jeweils 2x durch den dual DVB-T und DVB-C Stick.

Nun können wir aus einer Liste mit vordefinierten Frequenzen wählen. Hier wählt Ihr, die für Eure Region, passende Frequenz aus und startet den Sendersuchlauf. Das kann etwas Zeit in Anspruch nehmen!


Es wird eine Liste der Frequenzen erstellt und die passenden Sendernamen hinzugefügt.
Auch wird die Art des Senders abgehangen (SD,HD,TV,Radio). Wir sind nun mit der Grundinstallation fertig. Die Sender sind allerdings noch unsortiert.

Das können wir über das Menü „Configuration / ChannelEPG“ ändern.


Hier sind alle Sender aufgelistet:


Unten rechts lassen wir uns alle Sender anzeigen.

 

Bei „Tags“ klicken wir auf den Pfeil und wählen bei „Filters“ „tv“ (Eingabe). Nun bekommen wir eine komplette Liste aller TV-Sender angezeigt.

Da ich alle verschlüsselten Sender nicht mehr angezeigt bekommen will, können diese über den Filter „wt“ selektiert und abgewählt werden (mit „delete“).

Nun haben wir alle Sender sortiert, doch es fehlen noch die entsprechenden Icons der Sendeanstalten. Diese wollen wir nun auch hinterlegen.

Wir müssen also nochmal ins Terminal:

Ich habe Euch einige Icons gebaut, die Ihr hier herunterladen könnt.

Den Inhalt kopieren wir mit einem ftp Programm in den gerade erstellten Ordner.
Der Ordner „Picons“ muss klein geschrieben werden.

Nun legen wir in TVHeadend die Logos fest. Dafür navigieren wir zu –> Einstellungen, Allgemein:

Danach gehen wir zu Kanal / EPG und wählen wieder alles an.

Habt ihr es richtig gemacht, werden die Logos den Kanälen zugeordnet.

Nun zum letzen Schritt! Wir wollen das Tool auch für Kodi zur Vergüngung stellen.

Dazu navigiert Ihr bei Eurer bestehenden Kodi Installation zu Add-ons —> PVR Clients. Dort wählen wir den TVHeadend HTSP Client aus und aktivieren diesen.

Nun muss noch der Hostname, Benutzer und Passwort eingetragen werden. Diese Infos haben wir bei der Installation festgelegt.

Unter „Streaming Settings“ kann man noch festlegen, welche Sticks genutzt werden sollen.

Es gibt auch eine App für iPhone, dann kann der TVHeadend Client auch dort verwendfet werden. So kann das TV-Programm auch bequem am iPad oder iPhone geschaut werden.

Auch die Verwendung übver VLC ist ohne Probleme möglich. Mit diesem Tool habt Ihr einen vollwertigen Client, der Euch das TV-Signal im ganzen Netzwerk bereit stellt! Es gibt viele weitere Möglichkeiten, die genutzt werden können. Wenn Interesse besteht, dann schreibe ich weitere Artikel zu Timeshift oder die Aufnahme von Sendungen und die Ablage auf externen Festplatten (z.B. einer NAS).

Der Artikel wurde geschrieben von Marco Raap

27 Kommentare
  1. Avatar
    Heininger sagte:

    Hallo Ralf, vielen Dank für deinen Hinweis! Nachdem ich nun erneut eine Installation „from scratch“ gestartet habe, scheitere ich jetzt bei der Installation von tvheadend. Ich nehme an, die Paketinformation ist zur Zeit defekt. Vielleicht klappt es ja später wieder.
    Hier die Fehlermeldugn, die ich bei der Installation bekomme:

    pi@raspytv:~ $ sudo apt-get -y –fix-missing install tvheadend
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen…. Fertig
    Die folgenden NEUEN Pakete werden installiert:
    tvheadend
    0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen 9.375 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 20,5 MB Plattenplatz zusätzlich benutzt.
    Fehl:1 https://dl.bintray.com/tvheadend/deb raspbianjessie/unstable armhf tvheadend armhf 4.3-1466~g0b8d903~raspbianjessie
    404 Not Found
    E: Fehlschlag beim Holen von https://dl.bintray.com/tvheadend/deb/pool/t/tvheadend/tvheadend_4.3-1466~g0b8d903~raspbianjessie_armhf.deb 404 Not Found
    E: Internal Error, ordering was unable to handle the media swap

    Antworten
    • Avatar
      Ralf sagte:

      Hallo Heininger,

      ich habe eben https://dl.bintray.com/tvheadend/deb/pool/ im Browser aufgerufen. In „pool/“ gibt es kein Unterverzeichnis mit dem Namen „t/“, sondern nur „3.4/“, „4.0/“ und „4.2/“. Somit kann die Datei „tvheadend_4.3-1466~g0b8d903~raspbianjessie_armhf.deb“ auch nicht gefunden werden.

      Ich habe Ende Dezember tvheadend (Build: 4.2.4-dmo1~bpo9+1~rpt1 (2018-09-03T09:06:53+0000)) auf einem 3B+ mit aufgestecktem Raspberry Pi TV HAT unter Raspbian Stretch erfolgreich installieren können. Es gab nur Probleme mit dem Finden von den Services weil die mitgelieferten deutschen MUX-Definitionen veraltet (für DVB-T) sind. Problemlösung: siehe meine vorherigen Posts.

      Hier meine vollständige sources.list:

      deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
      # Uncomment line below then ‚apt-get update‘ to enable ‚apt-get source‘
      #deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi

      Da ich noch keine Änderungen an der Datei durchgeführt habe, ist das der Originalzustand. Berücksichtige bitte, dass in meiner sources.list „stretch“ eingetragen ist falls du nicht Raspbian Stretch, sondern eine andere Raspian-Version benutzt.

      Außerdem ist die 4.2.x eine Stable-Version. Falls du die 4.3.x (Unstable) oder eine neuere 4.2.x installieren möchtest, die findest du hier (inkl. Installationsanleitung):

      https://tvheadend.org/projects/tvheadend/wiki/AptRepositories

      Möglicherweise sind die folgenden Infos zu meiner Installation für dich und andere Leser zusätzlich hilfreich:

      xx@xx:/ $ apt list tvheadend
      Auflistung… Fertig
      tvheadend/stable,now 4.2.4-dmo1~bpo9+1~rpt1 armhf [installiert]

      xx@xx:/ $ apt show tvheadend
      Package: tvheadend
      Version: 4.2.4-dmo1~bpo9+1~rpt1
      Priority: extra
      Section: video
      Source: tvheadend-dmo
      Maintainer: Christian Marillat
      Bugs: mailto:marillat@deb-multimedia.org
      Installed-Size: 3.076 kB
      Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavcodec57 (>= 7:3.2.10) | libavcodec-extra57 (>= 7:3.2.10), libavfilter6 (>= 7:3.2.10) | libavfilter-extra6 (>= 7:3.2.10), libavformat57 (>= 7:3.2.10), libavresample3 (>= 7:3.2.10), libavutil55 (>= 7:3.2.10), libc6 (>= 2.14), libdbus-1-3 (>= 1.9.14), libdvbcsa1 (>= 1.1.0), libhdhomerun3, libssl1.1 (>= 1.1.0), liburiparser1 (>= 0.6.0), debconf (>= 0.5) | debconf-2.0, tvheadend-data (>= 4.2.4-dmo1~bpo9+1~rpt1), adduser, lsb-base, dvb-apps, dtv-scan-tables
      Recommends: xmltv-util
      Replaces: hts-tvheadend
      Enhances: showtime
      Homepage: https://tvheadend.org
      Download-Size: 887 kB
      APT-Manual-Installed: yes
      APT-Sources: http://archive.raspberrypi.org/debian stretch/main armhf Packages
      Description: TV streaming server and recorder
      Tvheadend is a TV streaming server for Linux supporting DVB, ATSC, IPTV,
      and Analog video (V4L) as input sources. Can be used as a backend to
      Showtime, XBMC and various other clients.

      Viel Erfolg.

      Antworten
      • Avatar
        Hirschmann sagte:

        Hallo, habe es endlich Dank deiner Anleitung geschafft TVH zu installieren. Dafür ein ganz grosses Dankeschön.

        Nach erfolgreichem Erstanmelden auf der Weboberfläche konnte ich alles einrichten bis zur Kanalsuche. Nach einem Neustart des Raspbi kann ich mich jedoch nicht mehr mit dem Password, welches ich während der Installation vergeben habe auf der Weboberfläche anmelden.

        Da ich ein absoluter neuling auf diesem Gebiet bin, bemühte ich 3-Tagelang den Onkel Google, aber fand keine Lösung. Es sieht so aus, als wenn ich keine Adminrecht über TVH hätte.

        Weißt du da vieleicht eine Lösung? Installiert habe ich über deine vollständige sources.list

        Gruss Hirschmann

        Antworten
  2. Avatar
    Jo sagte:

    Meine Erfahrung:
    DVB T2 ist auf dem Raspberry in DE anscheinend nicht möglich :-(
    Für diese Erkenntnis habe ich viele Stunden verschwendet…

    Antworten
    • Avatar
      Ralf sagte:

      „DVB-T Network“ gilt auch für DVB-T2. Das Problem ist, dass die vordefinierten Muxe bei TVHeadend veraltete DVB-T Muxe und keine DVB-T2 Muxe sind.

      In meiner obigen Antwort an Jo habe ich einen Link zu einer Anleitung gepostet, mit der du das Problem mit den nicht gefundenen Services beheben kannst.

      Antworten
  3. Avatar
    Florian sagte:

    hallo ich bekomme die weboberfläche nicht zum laufen, was mache ich da falsch?
    pi@raspberrypi:~ $ sudo apt-get -y install tvheadend
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    tvheadend is already the newest version (4.3-1236~g518d57b~raspbianjessie).
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
    1 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Setting up tvheadend (4.3-1236~g518d57b~raspbianjessie) …
    Job for tvheadend.service failed because a fatal signal was delivered to the control process.
    See „systemctl status tvheadend.service“ and „journalctl -xe“ for details.
    invoke-rc.d: initscript tvheadend, action „start“ failed.
    ● tvheadend.service – Tvheadend – a TV streaming server and DVR
    Loaded: loaded (/lib/systemd/system/tvheadend.service; disabled; vendor preset: enabled)
    Active: activating (auto-restart) (Result: signal) since Sun 2018-04-15 20:40:08 CEST; 158ms ago
    Process: 705 ExecStart=/usr/bin/tvheadend -f -p /var/run/tvheadend.pid $OPTIONS (code=killed, signal=ILL)

    Apr 15 20:40:08 raspberrypi systemd[1]: tvheadend.service: Unit entered fail…te.
    Apr 15 20:40:08 raspberrypi systemd[1]: tvheadend.service: Failed with resul…l‘.
    Hint: Some lines were ellipsized, use -l to show in full.
    dpkg: error processing package tvheadend (–configure):
    subprocess installed post-installation script returned error exit status 1
    Errors were encountered while processing:
    tvheadend
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    pi@raspberrypi:~ $

    Antworten
  4. Avatar
    Florian Heimann sagte:

    Hallo Marco, kannst du erklären, wie ich die Daten auf dem nas ablegen lasse und wie Timeshift funktioniert? Das wäre echt spitze LG Flo

    Antworten
  5. Avatar
    Florian Heimann sagte:

    Hallo, toller Beitrag, vielen Dank dafür. Mich würde noch Timeshift und Aufnahme auf einem Synology nas interessieren. Würde mich freuen wenn du da Tips für hast. LG Flo

    Antworten
  6. Avatar
    Mig sagte:

    Hallo Marco
    Vielen Dank für die gut erklärte Anleitung. Ich wollte nachfragen ob bei dir die EPG funktioniert?
    Ich habe ein externes Script die ich über xmltv.sock einlese. Das einlesen und die Übergabe an xmltv.sock funktioniert soweit, nur werden die Daten von TVheadend nicht übernommen.
    Auch die interne EPG’s lassen sich einrichten, werden aber nicht von TVheadend eingelesen.
    (z.B. tv_grab_se_tvzon –configure, tv_grab_ch_search –configure)
    Schöne Grüsse

    Antworten
  7. Avatar
    Michael sagte:

    Hallo,
    welche Programme sind denn mit so einem DVB-T, DVB-T2 Stick überhaupt noch empfangbar ?
    Die HD Programme muss man mittlerweile doch auch bezahlen, oder ? Wie is es z.B. mit DMAX ?

    Antworten
  8. Avatar
    Mathias sagte:

    das hört sich schon mal sehr gut an!
    Gibt es auch eine Möglichkeit, das ganze auf DVB-S/S2 zu bewerkstelligen?
    Die Links umfasssen nur Tuner, die DVB-T/T2/C empfangen können.
    Weil meine Familie nur SAT hat, können sie damit (fast) nichts anfangen, der Empfang von DVB-T/T2 ist bei ihnen sehr schlecht.
    Ich selber habe eine Fritzbox 6490. Da ist das ganze schon eingebaut und wird von mir bereits seit längerem ausgiebig genutzt.
    Gruß,
    Mathias

    Antworten
    • Avatar
      Marco sagte:

      Hallo Mathias,

      sicher geht das auch mit Satellitenempfang. Leider sind USB DVB-S Receiver selten und eher teuer. Die Einrichtung ist allerdings genau die selbe.

      Antworten
    • Avatar
      Marco sagte:

      Hallo Tobias.
      Wenn es Linux Treiber für die Karte gibt ist das grundsätzlich kein Problem.
      TVHeadend bindet die Karten über die Treiber des Systems ein.

      Antworten
  9. Avatar
    bromix sagte:

    Hallo und danke für das Tutorial. Ich habe vor kurzem TVHeadend mit einem XORO 8100 SAT/IP eingerichtet und bin super zufrieden. Aber eine Frage habe ich:
    Hast du die picons selbst erzeugen/erstellen können? Ich würde gerne die aktuellen Logos anwenden, aber ich bekomme die Scripte von picons nicht richtig zum laufen :(
    MfG
    bromix

    Antworten
    • Avatar
      Marco sagte:

      Hallo Bromix

      diese Picons zu erstellen ist sehr einfach. Ich habe mir einfach die Logos bei Google gesucht und dann in den Ordner kopiert.
      Transparente Icons machen sich da sehr gut. Nur umbenennen und Kodi erledigt den die Anpassung was Größe angeht. Man kann also wenn man will auch sehr hochauflösend Bilder nehmen.

      Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere die Speicherung der Daten.