EPG im Eigenbau mit Raspberry Pi

By | 17. Juni 2020
EPG

Als EPG bezeichnen wir Electronic Program Guide (elektronischer Programmführer) oder elektronisch verbreitete Informationen über das aktuelle Hörfunk- und Fernsehprogramm. Die Daten werden heute in der Regel als Zusatzangebot von den Sendern ausgestrahlt und sind kostenlos zu empfangen. Der elektronische Programmführer bietet einen Ersatz für gedruckte Programmzeitschriften. EPG Daten sind uns wichtig für Media Player (Kodi, Vavoo, Pulse, Perfect Player, etc.) Integration um Programmführer bzw. Aufnahmefunktion zu realisieren.

Für EPG Daten Herstellung benutzen wir WebGrab+Plus, Programm ermöglicht uns Auswahl verschiedenen EPG Quellen aus mehr als 80 Ländern. Installation ist genau an Raspberry Pi * optimiert. Zuerst müssen Sie Raspberry Pi für WebGrab+Plus Installation vorbereiten und OS Raspbian Lite (Aktuelle Version Buster) installieren. Wie das geht erfahren Sie hier.

WebGrab+Plus Installation

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get remove --purge mono-*
$ sudo apt-get install mono-complete
$ cd /home/pi
$ sudo wget http://www.webgrabplus.com/sites/default/files/download/SW/V3.1.0/WebGrabPlus_V3.1_install.tar.gz
$ tar -zxvf WebGrabPlus_V3.1_install.tar.gz
$ cd ~/.wg++
$ sudo ./install.sh
#### Grabber starten wir mit Befehl ####
$ ./run.sh

Installation von WebGrab+Plus ist fertig und jetzt wollen wir noch das ganze Prozess automatisieren und für den gewünschten TV Sender Programmführer regelmäßig herstellen.

WebGrab+Plus Konfiguration

WebGrab+Plus Konfiguration
  • WebGrab++.config.xml in /home/pi/.wg++
  • filename – “/home/pi/.wg++/guide.xml” – Verzeichnis und EPG Dateiname.
  • mode “nomark” – Änderungen im Programmführer werden nicht extra markiert.
  • postprocess grab “y” – Grabber aktiv
  • run “n” (mdb) – werden keine Zusatzinformation von imdb.com geholt, verlangsamt Grabber Prozess extrem.
  • time-out “2” 4 – Wenn Sender Informationen nicht erreichbar sind, dann wird Prozess 4-mal gestartet mit 2 sek. Pause dazwischen.
  • timespan “2” – EPG für 2 Tage.
  • update “i” – Inkrementell, nur Änderungen im Programmführer werden geholt.
WebGrab+Plus Config
  • Wie ist oben im Bild zu sehen, WebGrab+Plus Konfiguration Datei erhalten auch Einstellungen für verschiedenen TV Sender und TV Zeitschriften von wo die Daten abgeholt werden. Die Informationen bekommen Sie in siteini.pack Ordner (/home/pi.wg++), da sind TV Programm Zeitschriften nach Länder sortiert.
  • Wenn Sie jetzt Ordner “Germany” öffnen werden Sie Konfigurationsdatei (xml) für verschiedenen deutsche TV Zeitschriften sehen. Gewünschte xml Datei öffnen, Sender für EPG markieren und in WebGrab++.config.xml kopieren (einfügen).
  • Am schnellsten: Laden Sie per FTP Ordner “Germany” und WebGrab++.config.xml herunter, bearbeiten mit Editor (z.B. Notepad++) WebGrab++.config.xml am PC und dann laden Sie fertige Konfiguration wieder hoch.

Weitere EPG Automatisierungsmöglichkeiten

Überlegung ist: EPG Datei in regelmäßigen Abständen herstellen (z.B. 3 Tage Turnus), komprimieren (schnelle Ladezeiten) und für alle möglichen Media Player per HTTP zur Verfügung stellen.

  • Wenn nicht vorhanden, installieren wir Apache2 Webserver.
$ sudo apt-get update
$ sudo apt-get install apache2 -y
#### Server testen ####
http://Raspberry Pi IP Adresse
  • Erstellen wir Script welche startet WebGrab+Plus, erstellt EPG, komprimiert EPG Daten und im Webserver Verzeichnis kopiert und so sind per HTTP abrufbar für alle gängigen Media Player.
### wg++.sh ###
$ cd /home/pi
$ sudo nano wg++.sh
##### Einfügen ####
#!/bin/sh
cd /home/pi/.wg++
./run.sh &
wait
rm guide.xml.gz
gzip guide.xml
chown -R pi:pi guide.xml.gz
cp -p guide.xml.gz /var/www/html/epg.xml.gz
chmod 0755 /var/www/html/epg.xml.gz
EOF
exit 0
#### Abspeichern mit Strg + X ####
$ sudo chmod +x wg++.sh
  • Script wg++.sh ist erstellt, noch brauchen wir Cronjob aktivieren für zeitbasierten Ausführung bzw. Herstellung von EPG Daten.
$ sudo crontab -e
### Einfügen ###
0 5 * * * sudo /home/pi/wg++.sh ### z.B jeden Tag um 5:00
### Abspeichern mit Strg + X ###

Tipp: Herstellung von Cronjob mit Hile von Crontab Guru.

m3u Liste mit EPG Daten anpassen

Um volle Zusammenspiel zwischen IPTV Liste (mit Endung m3u) und EPG Daten zu gewährleisten, müssen Sie noch ein paar Anpassungen vornehmen.

m3u Liste

Oben im Bild sehen Sie Auszug aus eine m3u Liste, die wichtigen Merkmale sind:

  • tvg-name – Sender (Kanalname)
  • tvg-id – Sendername für EPG Daten, darf nicht mit xmltv_id aus EPG kollidieren. So wird für jeder Sender der richtige Programmführer zugeordnet. Immer in der m3u Liste oder WebGrab++.config.xml tvg-id anpassen.
  • group-title – Kanäle nach Gruppen (Länder, Sport, etc.) sortiert.
  • tv-logo – ist selbsterklärend (Logo Link).
  • Am Ende kommt Sender-Name welche im Player angezeigt wird und Streaming Adresse.

So sind wir zum Ende gekommen, ich wünsche Ihnen viel Spaß mit EPG Marke “Eigenbau”.

Schreibe einen Kommentar

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