Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

EPG XMLTV zusammenführen und Kanäle erstellen

    Nobody is reading this thread right now.

tem_invictus

Elite User
Premium
Registriert
18. Februar 2017
Beiträge
1.682
Lösungen
3
Reaktionspunkte
1.465
Punkte
393
Moin,
ich hatte für mich selber nach einer Lösung gesucht, wie ich verschiedene XMLTV Dateien zusammenführen kann. Auf der Suche bin ich auf zwei nette kleine Scripte gestoßen, die ich kombiniert habe und noch mal etwas angepasst habe. Das funktioniert für mich so gut, dass ich mir gedacht habe, ich stelle das mal öffentlich zur verfügung. Das Script findet ihr auf Github.

Was macht das Script jetzt genau. Ihr könnt über die Datei source.txt eure Quellen festlegen. Das Script nutzt dann diese Quellen und kombiniert diese zu einer XML Datei. Ihr könnt hier in der Theorie so viele Quellen angeben wie ihr wollt. Ich habe selber aber nicht mit 10 Quellen oder so getestet.

Als Zusatz Funktion kann das Script auch Dummy Kanäle als EPG anlegen. In der dummy_channels.txt Datei, kann man dazu Kanäle anlegen und mit Inhalt füllen. Das ist nicht gedacht, um damit ein echtes EPG mit unterschiedlichsten Inhalten zu erstellen. Aber man kann damit Kanälen, die sonst kein EPG haben, zumindest eine "Info" mitgeben. Die EPG Daten werden immer für 2 Tage und in 6h Intervallen generiert.

Meine Testumgebung ist nicht die größte, somit können noch Bugs im Script sein.
Ich empfehle das Script immer in einem eigenen Ordner auszuführen.



Mini Tutorial:

Ich nutze das Script nur auf einer Ubuntu 24.04 VM, sollte aber auch auf anderen Linux Distributionen laufen.

Benötigte Pakte installieren:
Code:
sudo apt-get update && sudo apt-get install wget gunzip xmltv

Script und benötigte Daten von Github kopieren:
Code:
git clone https://github.com/mme89/epgxml-merge-dummy.git ~/epgxml-merge-dummy

Im Verzeichnis "epgxml-merge-dummy" sind dann mehrere Dateien enthalten.
  • epgmerger.sh
  • Das eigentliche Script, was später ausgeführt wird. Hier muss nichts angepasst werden.​
  • sources.txt
  • Hier kommen eure EPG Quellen rein, eine Quelle pro Zeile.​
  • dummy_channels.txt
  • Hier könnt ihr Dummy Kanäle anlegen, wenn ihr das wünscht. Diese werden nur berücksichtigt, wenn man das Script mit "-dummy" ausführt.​
  • filter_epg_patterns.txt
  • Hiermit könnt ihr Sachen aus der fertigen XMLTV rausfiltern. Die Liste wird sofort berücksichtigt, sobald dort gültige Einträge vorhanden sind.​
Sobald ihr mindestens eure Quellen festgelegt habt, könnt ihr das Script ausführen:
Code:
./epgmerger.sh

Daraus sollte eine Datei "merged.xmltv" im gleichen Verzeichnis erstellt werden. Außerdem wird ein epgmerger.log angelegt, wo ihr nachsehen könnt, was das Script gemacht hat und ob es evt. Fehler gab.
 
Zuletzt bearbeitet:
Habe noch mal ein wenig an dem Script rumgebastelt.

  • Habe logging hinzugefügt. Wird standardmäßig im Script Ordner abgelegt.
  • Über die Datei "filter_epg_patterns.txt" kann man Pattern aus dem XMLTV filtern
 
Zurück
Oben