IPTV mit EPG – So konfigurieren Sie den TV-Guide 2026
\n\nSie haben funktionierendes IPTV, die Kanäle laufen, das Bild ist scharf – aber wenn Sie den Programmführer einschalten, sehen Sie nur Leere. Keine Programmnamen, keine Zeiten, nichts. Klassiker. Die Konfiguration von IPTV mit EPG ist einer dieser Schritte, die jeder beim ersten Setup überspringt und sich dann wundert, warum der Player wie eine Kanalliste aus den 90ern aussieht.
\n\nEPG, also Electronic Program Guide, ist eine separate Datenschicht, die auf Ihre M3U-Wiedergabeliste gelegt wird. Es ist kein Teil des Video-Streams. Es handelt sich um eine separate XML-Datei, die der Player herunterlädt, analysiert und den Kanälen zuordnet. Und genau an diesem Punkt – der Zuordnung – scheitern die meisten Leute. Dieser Leitfaden führt Sie Schritt für Schritt durch die gesamte Konfiguration von IPTV mit EPG, von den Grundlagen bis zu fortgeschrittenen Tricks mit Cron und dem Zusammenführen von Quellen.
\n\nWas ist EPG und warum ist es in IPTV unerlässlich
\n\nWie der Electronic Program Guide funktioniert
\n\nEPG ist im Grunde eine Datenbank mit dem Fernsehfahrplan. Sie enthält den Programmnamen, eine Beschreibung, die Start- und Endzeit, die Kategorie und manchmal sogar ein Cover. Ihr IPTV-Player lädt diese Daten von der angegebenen URL herunter und legt sie auf die Kanalliste.
\n\nDer gesamte Mechanismus basiert auf einer entscheidenden Verbindung: Die Kanal-ID in der EPG-Datei muss mit der ID in Ihrer M3U-Wiedergabeliste übereinstimmen. Wenn die Wiedergabelistetvg-id="TVP1.pl"sagt, muss die EPG-Datei den Eintrag<channel id="TVP1.pl">haben. Wenn diese beiden übereinstimmen – haben Sie ein TV-Programm. Wenn nicht – haben Sie ein leeres Feld.
XMLTV-Format – der EPG-Standard
\n\nXMLTV ist ein offenes Dateiformat, das de facto zum Standard für EPG-Daten geworden ist. Die Datei hat die Erweiterung.xml oder ist komprimiert als.xml.gz und enthält zwei Abschnitte: Kanaldefinitionen (<channel>) und Programme (<programme>). Eine typische XMLTV-Datei für 500 Kanäle mit Daten für 7 Tage wiegt 30-80 MB unkomprimiert.
Die Struktur ist einfach. Jeder Kanal hat eine einzigartigeID und einen angezeigten Namen. Jedes Programm hatStart,Stop,Kanal (bezogen auf die Kanal-ID) undTitel. Die Zeitattribute enthalten den Offset der Zeitzone, z.B.20260317200000 +0100. Und genau dieser Offset wird dir Probleme bereiten — aber dazu gleich mehr.
Der Unterschied zwischen integriertem und externem EPG
\n\nEs gibt zwei Möglichkeiten, EPG bereitzustellen. Erste: Dein IPTV-Anbieter integriert die EPG-URL direkt in den Header der M3U-Datei, im Attributurl-tvg. Der Player lädt die Daten automatisch herunter und du musst nichts konfigurieren. Zweite: Du fügst manuell eine externe EPG-Quelle in den Einstellungen des Players hinzu.
Integriertes EPG ist bequem, aber du hast null Kontrolle. Wenn der Anbieter die URL ändert oder sein EPG nicht alle Kanäle abdeckt — bleibst du mit nichts dastehen. Eine externe Quelle gibt dir volle Kontrolle: Du wählst den Datenanbieter, stellst das Aktualisierungsintervall ein, kannst sogar mehrere Quellen kombinieren. In der Praxis ist es am besten, beides zu haben.
\n\nWie man EPG zum IPTV-Player hinzufügt — Schritt für Schritt
\n\nEPG-Konfiguration in TiviMate
\n\nTiviMate ist meiner Meinung nach der beste IPTV-Player für Android, und die EPG-Konfiguration hier ist schmerzlos. Du öffnest die App, gehst zuEinstellungen → EPG → Quelle hinzufügen. Du fügst die URL zur XMLTV-Datei ein. Akzeptiertes Format:http:// oderhttps:// Link zu.xml oder.xml.gz.
Nach dem Hinzufügen der Quelle beginnt TiviMate mit dem Herunterladen. Für eine Datei von 50 MB bei einer Verbindung von 100 Mbps dauert es einige Sekunden. InEinstellungen → EPG → Aktualisierungsintervall stelle 12 oder 24 Stunden ein — mache es nicht jede Stunde, da der EPG-Anbieter deine IP sperren kann. TiviMate erlaubt es, mehrere EPG-Quellen gleichzeitig hinzuzufügen, was Gold wert ist, wenn du Kanäle aus verschiedenen Ländern hast.
\n\nWichtiger Hinweis: Nach dem Hinzufügen des EPG musst du warten, bis die Daten geladen sind, dann geh zuEinstellungen → EPG → EPG-Quelle zuweisen und stelle sicher, dass die Kanäle die richtigen Programme zugewiesen haben. TiviMate macht eine automatische Zuordnung nach dem Kanalnamen, trifft aber nicht immer die richtige Wahl.
\n\nEPG in Perfect Player
\n\nPerfect Player ist ein Klassiker auf Android TV. Du gehst zuEinstellungen (Zahnrad-Symbol) → Allgemein → EPG-URL. Füge den Link zur XMLTV-Datei ein und bestätige. Das Programm lädt die Daten herunter und versucht, die Kanäle automatisch zuzuordnen.
\n\nEin Problem mit Perfect Player: Es kommt nicht gut mit großen EPG-Dateien zurecht. Bei Dateien über 30 MB auf Geräten mit 1-2 GB RAM kann die Anwendung hängen bleiben oder die Daten mehrere Minuten lang laden. Lösung: Verwende eine komprimierte Datei.xml.gz anstelle von reinem XML. Perfect Player unterstützt gzip. Wenn das nicht hilft — benötigst du eine kleinere EPG-Quelle mit weniger Kanälen.
EPG in Kodi (PVR IPTV Simple Client)
\n\nKodi benötigt das Addon PVR IPTV Simple Client. Du installierst es aus dem Kodi-Repository (Add-ons → Aus Repository installieren → PVR-Clients → PVR IPTV Simple Client). Nach der Installation gehst du zuKonfigurieren → EPG-Einstellungen.
\n\nHier hast du zwei Optionen:XMLTV-URL (Link zur Remote-Datei) oderLokaler Pfad (Datei auf der Festplatte). Für die Remote-URL fügst du den Link ein und stellstEPG-Update-Intervall auf 720 Minuten (12 Stunden) ein. Für die lokale Datei gibst du den Pfad an, z.B./storage/epg.xml.gz auf LibreELEC. Nach dem Speichern starte Kodi neu — EPG wird beim Start von PVR geladen.
In Kodi 21 (Omega) und neuer kannst du auchEPG-Zeitschieb direkt in den Einstellungen des Simple Clients einstellen — nützlich, wenn die Programmzeiten um eine oder zwei Stunden verschoben sind.
\n\nEPG in VLC und GSE Smart IPTV
\n\nVLC unterstützt von sich aus kein EPG von XMLTV. Du kannst eine M3U-Playlist öffnen und Kanäle ansehen, aber das Programmführer wirst du nicht sehen. Wenn deine M3U-Playlist ein eingebautes EPG im Stream hat (EIT-Format im Transportstream), zeigt VLC aktuelle Programminformationen an — aber das hängt vom Anbieter ab.
\n\nGSE Smart IPTV auf iOS/Android:Einstellungen → EPG/Programme → EPG-Quelle hinzufügen → Remote EPG → URL. Du fügst den XMLTV-Link ein. Das Aktualisieren stellst du inAutomatisches EPG-Update ein. GSE hat eine Begrenzung — es unterstützt jeweils nur eine EPG-Quelle, also wenn du Daten aus mehreren Quellen benötigst, musst du sie vorher in eine Datei zusammenführen.
\n\nEPG auf Smart TV (Samsung, LG)
\n\nAuf Samsung Tizen verwendest du am häufigsten Duplex IPTV oder IPTV Smarters Pro. Bei Duplex:Einstellungen → EPG-URL — fügst du den Link ein. Bei Smarters: EPG wird automatisch über die Xtream Codes API geladen, also wenn der Anbieter Xtream hat — musst du nichts tun.
\n\nAuf LG webOS sind die Optionen Smart IPTV (siptv.eu) oder IPTV Smarters. Bei Smart IPTV stellst du das EPG über das Webpanel auf siptv.eu/mylist ein — dort fügst du die URL zu XMLTV ein. Einschränkung: Smart IPTV lädt das EPG einmal beim Start und aktualisiert es nicht automatisch. Du musst die App neu starten, um neue Daten zu laden.
\n\nEPG-Quellen — wo du TV-Programmdaten herunterladen kannst
\n\nEPG vom IPTV-Anbieter (in die M3U-Playlist eingebaut)
\n\nÖffne deine M3U-Playlist in einem Texteditor und überprüfe die erste Zeile. Du suchst nach dem Attributurl-tvg:
#EXTM3U url-tvg="http://example.com/epg.xml.gz" refresh="3600"\n\nWenn dieses Attribut vorhanden ist — dein Anbieter liefert EPG. Kopiere diese URL und öffne sie im Browser. Es sollte eine XML- oder XML.GZ-Datei heruntergeladen werden. Wenn ein Fehler 403 oder 404 zurückgegeben wird — ist die URL wahrscheinlich abgelaufen und du musst den Anbieter um einen aktuellen Link bitten. Viele Player verwenden automatisch diese URL, aber es ist auch sinnvoll, sie manuell als Backup hinzuzufügen.
\n\nKostenlose öffentliche XMLTV-Quellen
\n\nDas Repositoryiptv-org/epgauf GitHub ist die größte community-getriebene EPG-Quelle der Welt. Es unterstützt Kanäle aus über 60 Ländern, einschließlich Polen. Die Daten werden automatisch von offiziellen TV-Seiten generiert und täglich aktualisiert. Die URL zur EPG-Datei für ein bestimmtes Land findest du in ihrer Dokumentation — sie sieht normalerweise aus wiehttps://iptv-org.github.io/epg/guides/pl/....
Die Qualität der kostenlosen Quellen ist variabel. Einige Kanäle haben vollständige Daten für 7 Tage im Voraus, andere nur für 2-3 Tage. Premium-Kanäle (z.B. Canal+, HBO) sind oft nicht abgedeckt, da ihre Seiten eine Anmeldung erfordern. Aber für offene Kanäle — TVP, Polsat, TVN und ähnliche — ist die Abdeckung anständig.
\n\nEigenes EPG mit WebGrab+Plus generieren
\n\nWebGrab+Plus ist ein kostenloses Tool, das TV-Programme direkt von den Webseiten der Sender scrapt. Du installierst es auf Windows, Linux oder in Docker. Du konfigurierst die DateiWebGrab++.config.xml mit einer Liste von Kanälen und Quellseiten. Du startest es — und hast eine frische XMLTV-Datei.
Für polnische Kanäle unterstützt WebGrab+Plus Quellen wie telemagazyn.pl und programtv.onet.pl. Die Konfiguration ist etwas mühsam — du musst manuell die site-ini (Dateien mit Scraping-Definitionen) für jeden Kanal auswählen. Aber der Effekt ist es wert: du hast EPG genau für die Kanäle, die du schaust, ohne unnötigen Ballast. Die Generierungszeit für 50 Kanäle beträgt etwa 10-15 Minuten.
\n\nEPG für polnische Kanäle — verfügbare Optionen
\n\nPolnische Fernsehsender haben mehrere dedizierte EPG-Quellen. Die Community auf GitHub pflegt Repositories speziell für den polnischen Markt — suche nach dem Begriff "epg poland xmltv". Die Abdeckung umfasst in der Regel TVP 1/2/3, TVP Info, TVP Sport, Polsat und thematische Kanäle, TVN und die Familie, TV Puls, TV4/TV6, Eska TV, Nowa TV.
\n\nVerschlüsselte Kanäle (Canal+, Polsat Sport Premium, HBO) sind schwieriger — die Programmdaten erfordern das Parsen geschlossener APIs. Einige community-getriebene Skripte machen das, aber die Links ändern sich. Wenn deine IPTV-Konfiguration mit EPG die Premium-Kanäle abdecken muss, ist die beste Lösung, mehrere Quellen zu kombinieren — eine öffentliche für FTA-Kanäle, eine andere vom IPTV-Anbieter für Premium-Kanäle.
\n\nKanalzuordnung — der Schlüssel zu funktionierendem EPG
\n\nWas ist tvg-id und tvg-name in der M3U-Datei
\n\nJede Kanalzeile in der M3U-Datei sieht ungefähr so aus:
\n\n#EXTINF:-1 tvg-id="TVP1.pl" tvg-name="TVP 1" tvg-logo="http://logo.url/tvp1.png" group-title="Polskie",TVP 1\nhttp://stream.url/tvp1\n\nDas Attributtvg-id ist der Schlüssel zur EPG-Zuordnung. Der Player nimmt diesen Wert, sucht im XMLTV-Dokument nach dem Eintrag<channel id="TVP1.pl"> und wenn er ihn findet — weist er die Programme diesem Kanal zu. Das Attributtvg-name ist ein Fallback — einige Player versuchen, nach dem Namen zu matchen, wenn tvg-id nicht übereinstimmt.
Und hier liegt die Falle. Es gibt keinen einheitlichen Namensstandard. Eine EPG-Quelle verwendetTVP1.pl, inneTVP1, jeszcze innetvp-1-poland. Deine Playlist kann habentvg-id="TVP.1". Keines von ihnen passt zusammen. Und deshalb funktioniert das EPG nicht.
Wie man EPG manuell einem Kanal zuweist
\n\nLade die XMLTV-Datei herunter und öffne sie in einem Texteditor (VSCode, Notepad++ — nicht in Word). Suche nach der Sektion<channel> am Anfang der Datei. Du wirst eine Liste finden wie diese:
<channel id="TVP1.pl">\n<display-name>TVP 1</display-name>\n</channel>\n<channel id="Polsat.pl">\n<display-name>Polsat</display-name>\n</channel>\n\nJetzt öffnest du deine M3U-Playlist und verbesserst die Attributetvg-id damit sie zu diesen Identifikatoren passen. Wenn im XMLTVid="TVP1.pl" steht, musst du in der M3U habentvg-id="TVP1.pl". Genau. Die Groß- und Kleinschreibung ist wichtig.
Werkzeuge zur automatischen EPG-Zuordnung
\n\nDie manuelle Bearbeitung von 500 Kanälen ist ein Albtraum. Zum Glück gibt es Werkzeuge.m3u4u.com ist ein webbasierter M3U-Playlist-Editor, der es ermöglicht, eine Playlist zu importieren, eine EPG-Quelle hinzuzufügen und Kanäle automatisch nach Namen abzugleichen. Er hat eine Datenbank bekannter tvg-id und macht das sinnvoll für beliebte Kanäle.
\n\nXtream Editor (xtream-editor.com) macht dasselbe, aber für die Xtream Codes API — du importierst die Anmeldedaten und bearbeitest die Zuordnung im Browser. TiviMate auf Android hat eine eingebaute manuelle Zuordnung: Halte den Kanal gedrückt →EPG-Quelle → EPG-Kanal auswählen → wähle aus der Liste der verfügbaren EPG-Kanäle. Mühsam, aber effektiv.
\n\nBearbeitung der M3U-Datei — Hinzufügen von EPG-Attributen
\n\nWenn deine Playlist keine tvg-id-Attribute hat, musst du sie manuell hinzufügen. Öffne die M3U-Datei und füge zu jeder Zeile#EXTINF die entsprechenden Attribute hinzu. Mache vor der Bearbeitung eine Sicherungskopie der Datei.
Füge auch die Kopfzeile mit der EPG-URL ganz oben in die Datei ein:
\n\n#EXTM3U url-tvg="http://dein-url-epg.com/epg.xml.gz"\n\nWenn du mehrere hundert Kanäle hast, benutze ein Skript. Ein einfaches Python-Skript oder sogar sed in bash reicht aus, um eine Massenersetzung durchzuführen. Zum Beispielsed -i 's/tvg-id=""/tvg-id="TVP1.pl"/' playlist.m3u für einen Kanal. Für mehrere — bereite eine CSV-Datei mit der Zuordnung (alte_name → tvg-id) vor und schreibe ein Skript.
Problemlösung mit EPG in IPTV
\n\nEPG lädt sich nicht — häufigste Ursachen
\n\nErster Punkt: Überprüfe, ob die EPG-URL überhaupt funktioniert. Öffne das Terminal und führe aus:
\n\ncurl -I "http://dein-url-epg.com/epg.xml.gz"\n\nDu suchst nachHTTP/1.1 200 OK undContent-Type dasxml oderapplication/gzip enthält. Wenn du 403 erhältst — der Server blockiert deine IP (wegen zu häufiger Anfragen?). Wenn 404 — die URL ist veraltet. Wenn Timeout — der EPG-Server ist down.
Zweiter Punkt: Dateigröße. Überprüfe den HeaderContent-Length in der curl-Antwort. Wenn die Datei über 100 MB wiegt und du eine langsame Verbindung oder ein Gerät mit 1 GB RAM hast — kann der Player beim Parsen abstürzen. Lösung: Finde eine kleinere EPG-Quelle oder filtere die Datei, um nur die benötigten Kanäle zu behalten.
EPG zeigt falsche Programme auf den Kanälen
\n\nDas ist ein Zuordnungsproblem. Der Kanal "TVP 1 HD" in deiner Playlist hat das EPG von "TVP 1 International" zugewiesen bekommen, weil die tvg-id nicht übereinstimmen. Öffne die XMLTV-Datei, finde die korrekte ID für den Kanal, korrigiere sie in der M3U-Datei oder in den Zuordnungseinstellungen im Player.
\n\nEin anderer Fall: HD- und SD-Kanäle haben dasselbe Programm, aber unterschiedliche tvg-id. Z.B.TVP1HD.pl vsTVP1.pl. In der XMLTV-Datei kann nur ein Eintrag für einen von ihnen vorhanden sein. Lösung: Weisen Sie beide Kanäle (HD und SD) derselben tvg-id in der Playlist zu. EPG wird identisch sein, aber zumindest wird es vorhanden sein.
EPG hört auf, sich zu aktualisieren
\n\nAm häufigsten: Der Anbieter hat die EPG-URL ohne Benachrichtigung geändert. Überprüfen Sie die alte URL mit curl. Wenn sie nicht funktioniert — müssen Sie eine neue beschaffen. Eine gute Praxis ist es, eine einfache Überwachung einzurichten. Unter Linux können Sie Folgendes zu cron hinzufügen:
\n\n0 6 * * * curl -sf "http://deine-url-epg.com/epg.xml.gz" -o /dev/null || echo "EPG URL defekt" | mail -s "EPG Alarm" [email protected]\n\nZweitens: Cache des Players. TiviMate und Kodi halten eine lokale Kopie des EPG. Wenn die Daten sich trotz funktionierender URL nicht aktualisieren — leeren Sie den EPG-Cache. In TiviMate:Einstellungen → EPG → EPG-Cache leeren. In Kodi: Löschen Sie die Dateiepg.db aus dem PVR-Addon-Verzeichnis.
Zeitverschiebung im EPG — wie man die Zeitzone repariert
\n\nSehen Sie Programme, die um eine oder zwei Stunden verschoben sind? Klassisches Problem der Zeitzone. Polen liegt in der CET-Zone (UTC+1) im Winter und CEST (UTC+2) im Sommer. Wenn die EPG-Quelle Zeiten in UTC ohne Offset angibt und Ihr Player nicht kompensiert — werden die Programme verschoben sein.
\n\nLösung: Suchen Sie im Player nach der OptionEPG-Zeitverschiebung oderEPG-Zeit-Offset. Stellen Sie +1 im Winter, +2 im Sommer (für Polen) ein. In TiviMate:Einstellungen → EPG → EPG-Zeitverschiebung. In Kodi PVR Simple Client:Konfigurieren → EPG-Einstellungen → EPG-Zeitverschiebung. Die Änderung zwischen Sommer- und Winterzeit bedeutet, dass Sie dies zweimal im Jahr manuell korrigieren müssen — es sei denn, die EPG-Quelle verwendet korrekt den Offset in den Zeitstempeln.
\n\nÜberprüfung: Öffnen Sie die XMLTV-Datei und überprüfen Sie das Attributstart in einem beliebigen Programm. Es sollte wie20260317200000 +0100 aussehen. Wenn kein Offset vorhanden ist (z. B.20260317200000) — die Quelle gibt die Zeit in UTC an und der Player muss den Offset selbst hinzufügen.
EPG funktioniert nur für einige Kanäle
\n\nDas bedeutet, dass die Zuordnung für einige Kanäle funktioniert, für andere jedoch nicht. Gründe: 1) Die EPG-Quelle deckt nicht alle Ihre Kanäle ab, 2) tvg-id passt nicht für fehlende Kanäle, 3) Sie haben Kanäle aus verschiedenen Ländern und eine einzige EPG-Quelle reicht nicht aus.
\n\nDiagnose: Exportieren Sie die Liste der Kanäle ohne EPG (TiviMate zeigt dies visuell an — Kanäle ohne Programm haben ein leeres Feld). Vergleichen Sie deren tvg-id mit dem Inhalt der XMLTV-Datei. Wenn der Kanal überhaupt nicht in XMLTV vorhanden ist — benötigen Sie eine zusätzliche EPG-Quelle. Wenn er vorhanden ist, sich aber die tvg-id unterscheidet — korrigieren Sie die Zuordnung. Die IPTV-Konfiguration mit EPG aus mehreren Quellen gleichzeitig löst die meisten solcher Fälle.
\n\nErweiterte EPG-Konfiguration
\n\nKombination mehrerer EPG-Quellen
\n\nHaben Sie polnische, deutsche und englische Kanäle? Eine einzige EPG-Quelle wird nicht alle abdecken. Sie benötigen eine Zusammenführung. Es gibt zwei Ansätze: Der Player macht es selbst (TiviMate erlaubt es, mehrere Quellen hinzuzufügen und kombiniert sie selbst) oder Sie führen die XMLTV-Dateien vor dem Laden zusammen.
\n\nZum Zusammenführen von XMLTV unter Linux verwenden Sie das Tooltv_merge aus dem Paketxmltv-utils:
tv_merge -i epg_polska.xml -m epg_deutschland.xml -o merged_epg.xml\n\nAlternative: Python-Skript mit der Bibliotheklxml, der Abschnitte<channel> und<programme> aus mehreren Dateien verbindet. Achte beim Mergen auf Duplikate von Kanälen – wenn zwei Quellen die gleiche Channel-ID haben, werden die Programme überlappen.
EPG in Xtream Codes API vs XMLTV
\n\nWenn dein IPTV-Anbieter Anmeldedaten für Xtream Codes (Server, Benutzername, Passwort) bereitstellt, kommt das EPG automatisch über die API. Der Player fragt den Endpunkt/xmltv.php?username=X&password;=Y ab und erhält eine fertige XMLTV-Datei mit einer Zuordnung, die auf die Playlist abgestimmt ist. Null Konfiguration.
Der Unterschied: Im Xtream Codes API ist die Zuordnung bereits auf der Serverseite vorgenommen worden. Deine Playlist und das EPG sind synchronisiert, da sie aus demselben System stammen. Bei manuellem XMLTV musst du die tvg-id selbst anpassen. Deshalb ist IPTV mit EPG über Xtream Codes einfacher – aber auch abhängiger vom Anbieter. Wenn dessen EPG-Server ausfällt, hast du keinen Plan B. Mit manuellem XMLTV hast du die volle Kontrolle und kannst die Quelle in einer Minute ändern.
\n\nAutomatisierung der EPG-Aktualisierung über Cron
\n\nAuf Linux (Raspberry Pi, VPS, NAS) kannst du das automatische Herunterladen des EPG über Cron einrichten. Füge zu crontab (crontab -e) hinzu:
0 4 * * * wget -q -O /home/user/epg/epg.xml.gz "http://url-zum-epg/epg.xml.gz" 2>/dev/null\n\nDies lädt täglich um 4:00 Uhr morgens eine neue EPG-Datei herunter. Füge einen Timeout hinzu, um nicht an einer toten URL zu hängen:
\n\n0 4 * * * wget -q --timeout=120 -O /tmp/epg_new.xml.gz "URL"&& mv /tmp/epg_new.xml.gz /home/user/epg/epg.xml.gz\n\nTrik z/tmp imv ist entscheidend: Wenn der Download fehlschlägt, bleibt die alte EPG-Datei unberührt. Ohne dies könntest du eine gute Datei mit einer leeren oder beschädigten überschreiben. Der Player (z.B. Kodi mit lokalem Pfad zur EPG) lädt automatisch die neue Datei beim nächsten Refresh.
Kompression und Optimierung von XMLTV-Dateien
\n\nGroße XMLTV-Dateien (über 100 MB) sind ein Problem auf Geräten mit wenig RAM. Ein Android TV Box mit 1 GB RAM kann beim Parsen einer solchen Datei abstürzen. Lösung: gzip-Kompression und Filterung.
\n\nKompression:
\n\ngzip -9 epg.xml\n\nEine 80 MB große Datei wird nach der Kompression auf 8-12 MB reduziert. Die meisten Player unterstützen das Format.xml.gz nativ.
Filterung — du entfernst Kanäle, die du nicht ansiehst. Skript ausxmltv-utils:
tv_grep --channel-id "TVP1.pl" --channel-id "Polsat.pl" --channel-id "TVN.pl" full_epg.xml > filtered_epg.xml\n\nVon 500 Kanälen bleiben 50 — die Datei von 80 MB wird auf 8 MB reduziert. Das Parsen dauert Sekunden statt Minuten. Und dein günstiger Android-Box hört auf zu stocken.
\n\nFAQ — Häufig gestellte Fragen zu EPG in IPTV
\n\nIst das EPG kostenlos?
\nDas XMLTV-Format ist offen und kostenlos. Auf GitHub findest du community-getriebene Repositories mit EPG für Dutzende von Ländern — keine Kosten. Viele IPTV-Anbieter fügen EPG im Preis des Dienstes hinzu. WebGrab+Plus ermöglicht es, kostenlos eigene EPG zu generieren, indem es Daten von den offiziellen Websites der Sender scrapt. Die einzigen kostenpflichtigen Optionen sind Premium-EPG-Quellen mit erweitertem Kanalangebot.
\nWie oft sollte das EPG aktualisiert werden?
\nOptimal alle 12-24 Stunden. Die meisten EPG-Quellen liefern Daten für 3-7 Tage im Voraus, daher reicht ein tägliches Aktualisieren völlig aus. Setze das Intervall nicht auf jede Stunde — du belastest den Quellserver unnötig und riskierst eine IP-Sperre. Wenn du Cron verwendest, ist ein täglicher Abruf um 4:00 Uhr morgens der Standard.
\nWarum zeigt das EPG Programme von einem anderen Tag an?
\nIn 99% der Fälle liegt das Problem an der Zeitzone. Überprüfe die Zeitzoneneinstellungen im Player und nutze die EPG-Zeitschiebungsoption. Für Polen stelle +1 (CET im Winter) oder +2 (CEST im Sommer) ein. Im XMLTV-Dokument überprüfe das Attributstart — es sollte mit einem Offset enden, z.B.+0100. Wenn kein Offset vorhanden ist, gibt die Quelle die UTC-Zeit an und der Player muss selbst umrechnen.
Kann ich EPG ohne M3U-Datei verwenden?
\nNicht in der Praxis. EPG sind Daten über Programme — Namen, Zeiten, Beschreibungen. Aber ohne Playlist (M3U oder Xtream Codes) weiß der Player nicht, auf welche Kanäle diese Daten angewendet werden sollen. EPG benötigt eine Playlist als Basis zur Zuordnung. Die XMLTV-Datei ohne Playlist ist einfach ein Fahrplan ohne Fernseher.
\nWie kann ich überprüfen, ob meine EPG-URL funktioniert?
\nAm schnellsten: Öffne die URL im Browser — es sollte beginnen, die Datei .xml oder .xml.gz herunterzuladen. Genauer: Gib im Terminal eincurl -I "URL_EPG" und überprüfe, ob die Antwort200 OK ist. Wenn du 403 erhältst — der Server blockiert den Zugriff. Wenn 404 — die URL ist veraltet. Du kannst auch die Datei herunterladen:curl -o test_epg.xml.gz "URL_EPG" und öffne sie im Editor, um zu überprüfen, ob sie gültiges XML enthält.
EPG funktioniert in TiviMate, aber nicht in Perfect Player — warum?
\nVerschiedene Player parsen XMLTV unterschiedlich. Perfect Player hat Probleme mit großen Dateien — über 30 MB kann er auf Geräten mit wenig RAM hängen bleiben. Versuche, das komprimierte Format.xml.gz anstelle von reinem .xml zu verwenden. Überprüfe auch, ob beide Player die gleiche tvg-id für die Zuordnung eingestellt haben — TiviMate kann nach dem Kanalnamen abgleichen, Perfect Player ist strenger.
Wie füge ich EPG für ausländische Kanäle hinzu?
\nVerwende mehrere EPG-Quellen. In TiviMate gehst du zuEinstellungen → EPG → Quelle hinzufügen und fügst separate URLs für jede Region hinzu. Das Repository iptv-org/epg auf GitHub unterstützt Kanäle aus über 60 Ländern. Wenn dein Player keine mehreren Quellen unterstützt — merge die XMLTV-Dateien in eine mittv_merge und gib dem Player eine kombinierte Datei.