Raspberry PI, TVheadend und DVB-T

In unserem kleinen Weiler mit etwa 80 Einwohner sind etwa 60 vernetzt in einem Intranet. Da die Internet-Download-Datenmengen immer weiter steigen, wovon wohl ein großer Teil Video ist, haben wir uns entschlossen einen DVB-T Zugang via Antenne auf IP umzusetzen und allen zur Verfügung zustellen.
Etwa 20 Leute haben keinen Fernseher bzw. weder Zugang zu DVB-S noch DVB-T und diese nehmen zZ teil an dem IP vermittelten DVB-T, das sie über Notebook schauen.

Ein Raspberry PI B mit 3 Modems, die an einer handelsüblichen aktiven Parabol-Zimmerantenne mittels 2 Koax-Verteiler (2x IEC Stecker auf 1x IEC Buchse) angeschlossen sind, setzt das DVB-T Signal via TVheadend (TVH-Version 3.9.409~ge6c9160) auf IP um.

 

Es können bis zu 7 Leute gleichzeitig fernsehen, mehr gibt der PI nicht her (diese Zahl wurde bisher nur bei der Fussballweltmeisterschaft erreicht). wichtig ist: jeder kann unabhängig vom anderen seine Sender auswählen, dh es können von den 12 DVB-T Sendern gleichzeitig 7 verschiedene Sender oder auch 7mal der gleiche Sender (wie bei der WM 2014) gewählt werden (das begrenzende Moment ist nicht das RAM, sondern die CPU:

jeder Teilnehmer verbraucht 11%-17% CPU-Leistung, je nach Übertragungsinhalt).


Als Modems werden 3 TECHNAXX S4 a 11,50 Euro  eingesetzt, weiterhin ein 7 Port USB-Verteiler (DIGITUS DA-70222 mit separatem Netzteil für 11,95 und ein Netzteil für den Raspberry Micro-USB Steckernetzteil, 5V, 1,2A für 3,95 Euro  alles von Reichelt (wird nur 1 USB-Modem benutzt, reicht auch der 7port USB-Verteiler als Netzteil für den Pi). Ein Gehäuse ist eigentlich wg. Wärmeableitung nicht sinnvoll, ich habe zwecks besserer Wärmeableitung ein TEK-BERRY COOL Kühlsatz gekauft, bin aber nicht sicher, ob er notwendig ist (immerhin sind die Temperaturen am Aufstellungsort im Sommer oft über 30 Grad).

 

Die Einrichtung geschieht an Hand von http://christian-nagel.net/?cat=68 ( Dank an  Christian Nagel !)

Ab folgender Zeile habe ich einiges vereinfacht: "So nun muss noch Tvheadend für den Autostart vorbereitet werden..."

Ich habe weder user noch gruppe noch das Startscript für TVHeadend angelegt, sondern ein einfaches Startscript in /home/pi abgelegt mit Namen tvheadrestart:

 

#!/bin/bash

sudo kill -9 $(pidof tvheadend)

/usr/local/bin/tvheadend &

exit 0

 

tvheadrestart mit owner/group pi/pi und den permissions 755.

Weiterhin habe ich tvheadrestart in der crontab nach dem Booten aufgerufen. Crontab-Einträge mittels "crontab -e":

 

@reboot /home/pi/tvheadrestart

0 */2 * * * /home/pi/tvheadrestart

 

Die 2. Zeile ist ein workaround, der vielleicht bei neueren Versionen von TVH nicht mehr notwendig ist. Ohne den Neustart alle 2 std kann es vorkommen, dass TVH zuviel "VIRT"-speicher verbraucht, siehe "top" und einfriert.

 

 

(wird fortgesetzt)

 

 

 

 

 

 

 

Oben: für jeden Adapter wird ein eigenes Netzwerk angelegt.
Oben: für jeden Adapter wird ein eigenes Netzwerk angelegt.
Jedes Modem erhält eigenes Network
Jedes Modem erhält eigenes Network
Ausschnitt aus den Services
Ausschnitt aus den Services

Hier sehen wir, dass die 3. Programme (sie sind in einem Bouquet, Frequenz 746000) alle im Netzwerk dvbt0 auf die Channels gemappt sind. Die beiden anderen Bouquets (ZDF,NEO,3SAT,ZDFinfo und DasErste,Tagesschau24, arte, Phoenix) werden jeweils in einem anderen network gemappt.

die fertige channel-liste
die fertige channel-liste

Mit einem rechten Mausklick auf "play" und "Link kopieren" erhält man die Daten für die batch-dateien für VLC. In neueren Versionen von TVH funktioniert vermutlich der Links-Klick. Die "Number" sagt was über die Reihenfolge aus, wenn man mit zB XBMC alias Kodi auf TVH zugreift.

Die Batch-Dateien für VLC
Die Batch-Dateien für VLC

Dieser Ordner mit den Batch-Dateien liegt auf einem für alle zugänglichen Netzlaufwerk. Interessierte legen davon eine Verknüpfung auf ihrem Desktop ab.

Die Batch-Dateien bestehen eigentlich nur aus 1 Zeile mit den http-Daten aus der Channel-Liste ("play") und dem Aufruf von VLC.

Da bei vista, win7, win8 der VLC an zT verschiedenen Orten liegt, deshalb eine weitere Zeile.

 

"C:\Programme\VideoLAN\VLC\vlc.exe" "http://192.168.0.193:9981/stream/channel/8f145468a74ce9f69945dc5f7b9dbb36"
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "http://192.168.0.193:9981/stream/channel/8f145468a74ce9f69945dc5f7b9dbb36"

 

Nachtrag: es geht einfacher: Im bisherigen Ordner mit den Batch-Dateien benötigt man nur eine einzige Datei: channels.m3u

Diese Datei erhält man, indem man den TVH-Server folgendermassen aufruft:

http://192.168.0.193:9981/playlist

Nun kann man automatisch eine channels-Datei runterladen, man hängt dann noch die Endung .m3u dran und schon wird damit der vlc mit einer playlist mit allen Programmen aufgerufen.