EPG für alle Länder auf GitHub: Quellen& Einrichtungsanleitung
Wenn Sie nach EPG für alle Länder GitHub suchen, kennen Sie bereits die Grundlagen — Ihre M3U-Playlist lädt Kanäle gut, aber jeder Player zeigt "Keine EPG-Daten" neben jedem einzelnen Kanal an. Diese Anleitung behandelt die echten Lösungen: wo die besten Open-Source XMLTV-Aggregatoren zu finden sind, wie man sie korrekt in seinen Player integriert und warum die meisten Setups an einem bestimmten Schritt scheitern, über den fast niemand spricht.
Was ein EPG ist und warum GitHub die besten kostenlosen Quellen hostet
Definition: XMLTV-Format und wie Player es konsumieren
Ein Elektronischer Programmführer (EPG) ist eine strukturierte Datei, die Ihr IPTV-Player liest, um "was jetzt läuft" und "was als nächstes kommt" neben jedem Kanal anzuzeigen. Das Format, das fast jeder Player akzeptiert, ist XMLTV — ein offener Standard, der seit 2000 existiert und nicht viel Aktualisierung benötigt, weil er die Aufgabe gut erfüllt.
XMLTV-Dateien sind einfach XML. Zwei primäre Elemente tragen alles:<channel> definiert einen Sender mit einer eindeutigen ID, einem Anzeigenamen und einer optionalen Icon-URL.<programme> fügt diesem Kanal-ID einen Zeitrahmen mit einem Start- und Stopp-Zeitstempel im Formatstart="20260511180000 +0000" — das istYYYYMMDDHHmmss gefolgt von einer UTC-Verschiebung. Player analysieren diese Elemente in der Reihenfolge und erstellen das On-Screen-Guide-Raster daraus.
Nichts Exotisches, nichts Proprietäres. Wenn Ihr Player sagt, dass er XMLTV unterstützt, liest er diese Tags.
Warum von der Community gepflegte EPGs auf GitHub besser abschneiden als gescrapte Alternativen
Die meisten "EPG-Dienste", die EPG-URLs verkaufen oder verschenken, scrapen selbst die Websites der Sender und verkaufen die Daten mit null Transparenz über Aktualität, Abdeckung oder Methodik. Sie gehen ohne Vorwarnung offline, ändern ihr URL-Format oder lassen stillschweigend bestimmte Regionen weg.
Von GitHub gehostete Open-Source-Projekte sind anders. Sie können den Scraper-Code sehen, den CI-Workflow, der ihn ausführt, wann das letzte Update stattfand und ob der Job tatsächlich erfolgreich war. Das ist echte Verantwortlichkeit. Wenn etwas kaputt geht, meldet jemand ein Problem und jemand anderes behebt es — manchmal innerhalb von Stunden.
Community-Pfleger kümmern sich auch oft um Randfälle: nicht-lateinische Schriften, Kanäle, die in mehreren Zeitzonen ausgestrahlt werden, regionale Varianten desselben Senders. Kommerzielle EPG-Anbieter kümmern sich selten um dieses Detailniveau.
Wie Aggregator-Repositories von offiziellen Senderseiten abrufen
Die meisten ernsthaften Aggregator-Projekte erfinden keine Daten. Sie schreiben Scraper, die offizielle öffentliche Seiten ansteuern — den "Zeitplan"-Bereich eines Senders, ihren webbasierten Guide oder ihre mobile App-API — und verwandeln alles HTML oder JSON, das sie zurückbekommen, in gültiges XMLTV. Die Scraper laufen automatisch, normalerweise über GitHub Actions nach einem Cron-Zeitplan. Frische XMLTV-Dateien werden alle 6 bis 24 Stunden in das Repository eingecheckt (oder in eine Veröffentlichung hochgeladen).
Das ist die entscheidende Erkenntnis: Die Daten stammen aus den eigenen öffentlich zugänglichen Systemen des Senders. Das GitHub-Projekt ist ein Standardisierer und Aggregator, kein Datenfälscher.
Wichtige Open-Source EPG-Aggregatoren auf GitHub
Repositories, die Quellen aus über 100 Ländern aggregieren
Die nützlichsten Projekte zur Auffindung von EPG für alle Länder GitHub sind die großen Multi-Länder-Aggregatoren. Diese Repositories enthalten typischerweise separate Guide-Dateien pro Land oder Region (z.B.guides/us.xml,guides/de.xml,guides/ar.xml) plus eine kombinierte Datei, die alles zusammenführt. Die Abdeckung erstreckt sich oft über 80–150 Länder, die täglich oder häufiger aktualisiert werden.
Die kombinierten Dateien sind riesig — leicht 100–300 MB unkomprimiert für ein vollständiges 7-Tage-Fenster. Aber die meisten dieser Repos veröffentlichen auch einzelne Länderdaten und gzipped Varianten, die bei 10–30 MB liegen. Verwenden Sie diese, wann immer Sie können.
Ein gutes Multi-Länder-Projekt hat ein aktives CI-Abzeichen in seinem README, einen klar dokumentierten Aktualisierungszeitplan und eine strukturierte Ordneranordnung, die offensichtlich macht, welche Datei welche Region abdeckt. Wenn das nicht vorhanden ist, seien Sie skeptisch — es könnte sich um einen nicht gewarteten Fork handeln.
Einzel-Länder- und regionale Repositories für Nischenmärkte
Einige Länder sind gut abgedeckt durch dedizierte Einzel-Länder-Projekte. Diese haben oft eine höhere Genauigkeit für diesen spezifischen Markt, weil der Pfleger tatsächlich diese Kanäle schaut und bemerkt, wenn ein Scraper ausfällt. Für Regionen wie Südostasien, die MENA-Länder oder Osteuropa hat ein dediziertes regionales Projekt normalerweise eine bessere Kanalabdeckung als der generische Multi-Länder-Aggregator.
Suchen Sie auf GitHub nach Begriffen wie "xmltv [Ländername]" oder "epg [Ländername] iptv" und Sie werden sie finden. Überprüfen Sie, wann der letzte Commit war — alles über 6 Monate ohne Aktivität ist wahrscheinlich tot.
Wie man ein Repository bewertet: Sterne, letzter Commit, CI-Status, Lizenz
Sterne sind eine Eitelkeitsmetrik, aber niedrige Sterne bei einem Projekt mit sehr aktuellen Commits könnten bedeuten, dass es neu und gut ist. Hohe Sterne bei einem Projekt ohne Commits seit 2023 bedeuten, dass es tot und beliebt ist. Das Datum des letzten Commits ist das echte Signal für lebende Projekte — man möchte Aktivität innerhalb der letzten 2–4 Wochen mindestens.
Klicken Sie auf die Registerkarte Aktionen. Wenn es einen Workflow gibt, der etwas wie "EPG aktualisieren" oder "Scraper ausführen" heißt und nach einem Zeitplan läuft, und der letzte Lauf erfolgreich war (grünes Häkchen), werden die Daten aktiv gepflegt. Wenn der letzte Workflow-Lauf ein rotes X zeigt und es vor drei Monaten war, machen Sie weiter.
Für die Lizenz: MIT und GPL sind beide in Ordnung für die persönliche Nutzung und das Selbst-Hosting. Wenn es überhaupt keine LICENSE-Datei gibt, behandeln Sie das Projekt vorsichtig — rechtlich bedeutet das, dass Sie keine ausdrücklichen Rechte haben, die Dateien zu verwenden oder weiterzugeben.
So fügen Sie ein GitHub-gehostetes EPG zu Ihrem IPTV-Player hinzu
Den Roh-XMLTV-URL auf GitHub finden (raw.githubusercontent.com)
Der reguläre Datei-Viewer von GitHub umschließt Inhalte in HTML — Ihr Player kann diese URL nicht verwenden.Sie benötigen die Rohdatei. Navigieren Sie zur Datei im Repository und klicken Sie dann auf "Raw" in der oberen rechten Ecke der Dateiansicht. Die URL ändert sich zuraw.githubusercontent.com/benutzername/reponame/branch/pfad/zur/guide.xml. Das ist die URL, die Ihr Player benötigt.
Einige Repositories veröffentlichen ihre EPG-Dateien stattdessen als GitHub Release-Assets. Schauen Sie im Abschnitt Releases in der rechten Seitenleiste nach. Die URLs der Release-Assets folgen dem Mustergithub.com/benutzername/reponame/releases/download/tag/guide.xml.gz — Download-Links, keine Rohinhaltslinks. Beide funktionierenfür IPTV Player, die HTTP unterstützen.
Hinzufügen der EPG-URL in Playern, die XMLTV-Eingaben unterstützen
Jeder große Player behandelt dies etwas anders, aber die Einstellung wird normalerweise "EPG-URL", "XMLTV-URL" oder "Program Guide Source" genannt. Tivimate, Kodi (mit PVR IPTV Simple), OTT Navigator und Spark Player unterstützen dies alle. Fügen Sie die rohe URL ein, speichern Sie und lösen Sie eine Aktualisierung aus.
Wenn der Player gzipped Dateien akzeptiert (die meisten tun es), ziehen Sie immer die.xml.gz Variante vor. Eine 200 MB große Datei, die auf 18 MB komprimiert ist, macht einen echten Unterschied bei langsamen Verbindungen oder Android TV-Boxen mit begrenztem RAM.
Übereinstimmung von Kanälen nach tvg-id zwischen M3U und EPG
Hier scheitern 90% der fehlgeschlagenen EPG-Setups tatsächlich. Dietvg-id Attribut in Ihrer M3U-Playlist muss genau mit derid Attribut im entsprechenden<channel> Element in der XMLTV-Datei übereinstimmen. Groß- und Kleinschreibung beachten. Zeichen für Zeichen.
Wenn Ihre M3U hattvg-id="BBC.One.uk" und die EPG-Datei hatid="bbc1.uk", erhält der Player nichts. Sie stimmen nicht überein. Kein unscharfes Matching, kein intelligenter Fallback in den meisten Playern — nur Stille.
Um dies zu debuggen, öffnen Sie beide Dateien in einem Texteditor. Suchen Sie nach einem Kanalnamen, von dem Sie wissen, dass er Daten haben sollte. Überprüfen Sie, welche ID die XMLTV für diesen Kanal verwendet, und finden Sie dann die entsprechende Zeile in Ihrer M3U und aktualisieren Sietvg-id um genau übereinzustimmen. Einige M3U-Playlist-Anbieter veröffentlichen ein Mapping-Dokument, das zeigt, welche EPG-IDs ihre Kanalliste verwendet — überprüfen Sie das zuerst, bevor Sie manuell bearbeiten.
Eine besonders fiese Variante: Einige EPG-Projekte verwenden Slug-Stil-IDs wiebbc-one während M3U-Playlists numerische IDs wie70400. Diese können niemals ohne eine Übersetzungsschicht übereinstimmen — entweder die M3U bearbeiten, ein EPG finden, das dasselbe ID-Schema verwendet, oder ein kurzes Skript schreiben, um eine Zuordnung zu generieren.
Aktualisierungsintervalle und Cache-Einstellungen
Setzen Sie das EPG-Aktualisierungsintervall Ihres Players so, dass es mit der Häufigkeit übereinstimmt, mit der die Quelle tatsächlich aktualisiert wird — nicht häufiger. Wenn das Repository alle 12 Stunden neue Daten bereitstellt, verbraucht eine stündliche Aktualisierung Bandbreite, verschwendet Speicher und trifft gelegentlich die Rate-Limits von GitHub für Ihre IP (insbesondere relevant, wenn viele Geräte im selben Netzwerk gleichzeitig dieselbe Rohdatei anfordern). Alle 12–24 Stunden ist normalerweise richtig.
Wenn das EPG trotz eines kürzlichen Updates falsch zu sein scheint, liegt das Problem normalerweise am Cache auf der Player-Seite. Die meisten Player haben eine Option "EPG-Cache leeren" oder "Erzwinge Aktualisierung", die in den Einstellungen versteckt ist. Verwenden Sie dies, bevor Sie annehmen, dass die Quelldaten defekt sind.
XMLTV-Dateistruktur und häufige Probleme
Anatomie eines Programmeintrags: Titel, Untertitel, Beschreibung, Kategorie, Icon
Ein grundlegendes<Programme>Element sieht so aus:
<programme start="20260511190000 +0000" stop="20260511200000 +0000" channel="bbc1.uk"> <title lang="en">The Nine O'Clock News</title> <sub-title lang="en">Montagsausgabe</sub-title> <desc lang="en">Nationale und internationale Nachrichten.</desc> <category lang="en">Nachrichten</category> <icon src="https://example.com/posters/news.jpg" /></programme>DertitleElement ist das einzige erforderliche Feld. Alles andere ist optional, aberdescundcategorymachen den Leitfaden viel nützlicher. DasiconElement zeigt Show-Art in unterstützten Playern an — einige Repositories beinhalten es, viele nicht.
Zeitzonenbehandlung und Offset-Fehler
Der UTC-Offset im Zeitstempel (+0000,+0200,-0500, usw.) ist, wie Ihr Player die Sendezeit in Ihre lokale Uhrzeit übersetzt. Wenn ein Scraper hartkodiert+0000 für einen Kanal, der tatsächlich sendet in+0200, erscheint jede Show 2 Stunden früher, als sie tatsächlich ausgestrahlt wird.
DST-Übergänge verschärfen dies. Ein Scraper, der korrekt+0100 für MEZ im Winter behandelt, aber vergisst, auf+0200 für MESZ im Sommer umzuschalten, zeigt Programme für etwa 6 Monate im Jahr um eine Stunde verschoben an. Dies ist einer der häufigsten Fehler in EPG-Scrapern — wenn Sie bemerken, dass Ihr EPG nach einer Zeitumstellung genau um eine Stunde falsch ist, liegt das daran. Melden Sie ein Problem im Repository mit dem spezifischen Kanal und dem Offset, den Sie sehen.
Kodierungsprobleme mit nicht-lateinischen Schriften (kyrillisch, arabisch, CJK)
Alle XMLTV-Dateien müssen UTF-8-kodiert sein mit der XML-Deklaration<?xml version="1.0" encoding="UTF-8"?> an der Spitze. Wenn ein Scraper Programmnamen in Arabisch, Kyrillisch, Chinesisch oder Hindi aus einer Quelle abruft und die Kodierung nicht korrekt behandelt, zeigen die Player Mojibake — Müllzeichen anstelle von lesbarem Text.
Wenn Sie Zeichen wieпÑогÑамма sehen, wo es kyrillisch sein sollte, wurde die Datei wahrscheinlich irgendwo in der Pipeline in Latin-1 oder Windows-1252 kodiert. Ein gutes Projekt wird dies behoben haben; ein hastig geschriebenes wird es nicht. Überprüfen Sie, ob das Repository offene Probleme hat, die Kodierung oder spezifische nicht-lateinische Sprachen erwähnen, bevor Sie sich für diese Regionen verpflichten.
Was tun, wenn der Leitfaden eines Landes fehlt oder veraltet ist
Öffnen Sie ein Problem im Repository, das das Problem beschreibt: welches Land, welche Kanäle, wie lange die Daten veraltet sind. Die meisten Maintainer schätzen einen gut geschriebenen Fehlerbericht viel mehr als eine einzeilige "das funktioniert nicht."
Noch besser: Reichen Sie einen Pull-Request ein. Wenn das Projekt ein Scraper-Framework hat und Sie herausfinden können, wie ein bestehender Länderscraper funktioniert, ist es oft unkompliziert, ihn für ein fehlendes Land zu replizieren. Einige Projekte haben auf diese Weise Scraper für über 30 Länder beigetragen. Wenn die Behebung des bestehenden Projekts zu langsam erscheint, suchen Sie nach einem regionalen Fork oder einem Einzel-Länder-Projekt als Übergangslösung — verwenden Sie es als Ihre EPG-Quelle für diese Region, während das Hauptprojekt aufholt.
Selbsthosting vs. Direkte GitHub-Nutzung
Das XMLTV-Datei direkt von raw.githubusercontent.com abrufen
Direkte Nutzung ist die einfachste Einrichtung. Fügen Sie die rohe URL ein, fertig. Der Nachteil ist, dass Sie von GitHub abhängig sind, dass es online bleibt und das Repository öffentlich bleibt. GitHub ist im Allgemeinen zuverlässig, aber Repositories erhalten gelegentlich DMCA-Abmahnungen — ein Projekt, das gestern verfügbar war, könnte heute einen 404-Fehler zurückgeben. Das ist selten, aber es passiert.
Es gibt auch eine Überlegung zur Ratenbegrenzung. GitHub begrenzt die Anfragen für rohe Inhalte nach IP. Wenn Sie in einem gemeinsamen Netzwerk (Wohnhaus, Büro, Wohnheim) mit mehreren IPTV-Nutzern sind, die alle dieselbe 200 MB große Datei alle 12 Stunden abrufen, können Sie anfangen, Anforderungsfehler zu sehen. Für die persönliche Nutzung in einem Haushalt ist dies normalerweise in Ordnung.
Die Datei mit Cron auf Ihren eigenen Server spiegeln
Wenn Sie einen VPS, einen Raspberry Pi, der 24/7 läuft, oder sogar ein NAS mit einem Zeitplan haben, können Sie die XMLTV-Datei in einem Cron-Job abrufen und lokal bereitstellen. Ein einfacher wget- oder curl-Befehl in einem Crontab-Eintrag, der leicht nach dem eigenen Aktualisierungszeitplan des Repositories ausgeführt wird, bedeutet, dass Sie immer eine frische zwischengespeicherte Kopie haben:
0 6 * * * curl -s -o /var/www/html/epg/guide.xml.gz \Ihr Player zeigt dann aufhttp://your-server/epg/guide.xml.gz anstelle von GitHub. Schneller, zuverlässiger und immun gegen GitHub-Ratenlimits. Gesamte Einrichtungszeit: etwa 10 Minuten.
Große Multi-Länder-Dateien auf die Kanäle filtern, die Sie tatsächlich ansehen
Eine 200 MB große Multi-Länder-XMLTV-Datei ist auf Low-End-Android-TV-Boxen wirklich schmerzhaft. Der Player muss die gesamte Datei parsen, um den Leitfaden zu erstellen, und auf Geräten mit 1–2 GB RAM kann das zu Verlangsamungen oder Abstürzen führen. Das Filtern auf nur die Kanäle in Ihrer Playlist ist die eigentliche Lösung.
Extrahieren Sie die Kanal-IDs aus Ihrer M3U (grep nachtvg-id=), verwenden Sie dann diese IDs, um die XMLTV-Datei zu filtern. Der konzeptionelle Ansatz: Lesen Sie die Kanalliste, behalten Sie nur<channel> Elemente und<programme> Elemente, derenid oderkanal Attribut erscheint in dieser Liste. Eine 200 MB Datei schrumpft oft auf unter 5 MB, wenn sie auf 100–150 spezifische Kanäle gefiltert wird.
Erzeugen eines schlankeren EPG mit Befehlszeilenwerkzeugen
Für den Befehlszeilenansatz,xmlstarlet ist das richtige Werkzeug. Ein Filterdurchlauf sieht ungefähr so aus:
xmlstarlet sel -t \> gefiltert.xmlPythonsxml.etree.ElementTree verarbeitet dies ebenfalls sauber für alle, die sich mit Skripting wohler fühlen als mit Shell-Tools. Erstellen Sie eine Menge Ihrer gewünschten IDs, durchlaufen Sie den Quellbaum einmal, schreiben Sie übereinstimmende Elemente. Für eine Liste von 150 Kanälen, die Sie ansehen, dauert der Filtervorgang weniger als eine Sekunde und das Ergebnis lädt sofort in jedem Player.
Rechtliche und ethische Überlegungen
Planungsdaten und Urheberrecht in verschiedenen Rechtsordnungen
Programmpläne — Kanalname, Showname, Startzeit, Endzeit — sind faktische Daten. In den meisten Common-Law-Rechtsordnungen (USA, UK, Australien) können rohe Fakten ohne kreative Urheberschaft im Allgemeinen nicht urheberrechtlich geschützt werden. Die EU verfolgt einen etwas anderen Ansatz durch die Datenbankrichtlinie, die Datenbanken schützt, die eine erhebliche Investition darstellen, obwohl kurze faktische Zeitpläne oft unter dieser Schwelle liegen.
Was Urheberrechtsschutz hat: Episodenzusammenfassungen, die von einem Redaktionsteam eines Senders verfasst wurden, Werbebilder und originale beschreibende Texte. EPG-Projekte, die detaillierte Episodenbeschreibungen enthalten, befinden sich in einem grauen Bereich im Vergleich zu denen, die nur Titel, Zeit und Kategorie enthalten. Dies ist keine Rechtsberatung — für kommerzielle Nutzung im großen Maßstab sprechen Sie mit einem Anwalt, der auf Ihre Rechtsordnung spezialisiert ist.
Warum die meisten öffentlichen EPG-Projekte unter dem Fair-Use-Präzedenzfall arbeiten
Die meisten Open-Source-EPG-Projekte haben jahrelang öffentlich ohne rechtliche Schritte betrieben. Das vorherrschende Muster ist, dass Sender davon profitieren, dass ihre Planungsdaten genau verteilt werden — das steigert die Zuschauerzahlen. Die Gemeinschaftsprojekte, die diese Daten formatieren und neu veröffentlichen, tun etwas Ähnliches wie die TV-Listings-Magazine historisch: Sie aggregieren öffentlich angekündigte Zeitpläne zur Bequemlichkeit des Publikums.
Das gesagt, "wurde noch nicht angefochten" ist nicht dasselbe wie "rechtlich klar." Verstehen Sie den Unterschied.
Einhaltung der Nutzungsbedingungen des Quellsenders
Einige Sender verbieten ausdrücklich automatisiertes Scraping in ihren Nutzungsbedingungen. Autoren von EPG-Scrapern müssen dies berücksichtigen, wenn sie ihre Werkzeuge schreiben. Als Benutzer, der die resultierenden XMLTV-Dateien konsumiert, sind Sie einen Schritt davon entfernt — aber zu verstehen, woher die Daten stammen, ist wichtig, wenn Sie planen, sie weiterzugeben.
Das Überprüfen der README des Repositories auf Hinweise zu ihrer Scraping-Methodik und den Quellbedingungen ist ein paar Minuten Lesezeit wert, bevor Sie ein Produkt oder eine Dienstleistung auf Basis der Daten erstellen.
Zurück zur Open-Source-Community beitragen
Das EPG für alle Länder GitHub-Ökosystem läuft auf Freiwilligenarbeit. Wenn Sie einen Fehler finden — falsche Zeitzone, Kodierungsproblem, ein defekter Scraper für Ihr Land — ist der richtige Schritt, einen Fix beizutragen, anstatt nur zu beschweren oder still zu forken. Die meisten Maintainer sind wirklich froh, ein gut dokumentiertes Problem oder einen funktionierenden Pull-Request zu erhalten. Die Projekte mit der besten Abdeckung sind die mit aktiven Beitragsgemeinschaften, nicht die mit einem einzigen überarbeiteten Maintainer, der versucht, 120 Scraper alleine am Laufen zu halten.
Ist es legal, EPG-Dateien aus GitHub-Repositories zu verwenden?
Für den persönlichen Gebrauch wird der Konsum öffentlich geposteter Planungsdaten in den meisten Rechtsordnungen allgemein akzeptiert. Die Weiterverbreitung ist komplizierter — sie hängt sowohl von der eigenen LICENSE-Datei des Repositories als auch von den Bedingungen ab, die an die Quellsender angehängt sind. Lesen Sie beides, bevor Sie weiterverteilen. Für kommerzielle Nutzung holen Sie sich eine ordentliche Rechtsberatung, anstatt sich auf Forenbeiträge oder diesen Artikel zu verlassen.
Wie oft aktualisieren sich GitHub-EPGs?
Die meisten aktiven Aggregatorprojekte führen ihre Scraper alle 6 bis 24 Stunden über GitHub Actions oder einen externen Cron aus. Der genaue Rhythmus ist normalerweise in der README dokumentiert. Sie können auch die Actions-Registerkarte des Repositories überprüfen — suchen Sie nach einem geplanten Workflow und wann er zuletzt erfolgreich ausgeführt wurde. Stellen Sie das Aktualisierungsintervall Ihres Players entsprechend ein, nicht schneller.
Warum zeigen meine Kanäle nach dem Hinzufügen des EPG keine Programmdaten an?
Fast sicher ein tvg-id-Mismatch. Öffnen Sie Ihre M3U-Datei und finden Sie dietvg-idWert für einen Kanal, von dem Sie wissen, dass er Daten haben sollte. Öffnen Sie dann die XMLTV-Datei und suchen Sie nach einem<channel id="...">Element, das ihm entsprechen sollte. Wenn die Zeichenfolgen nicht genau übereinstimmen — gleiche Groß- und Kleinschreibung, gleiche Zeichen — hat der Player keine Möglichkeit, sie zu verbinden. Korrigieren Sie dietvg-idin der M3U, um mit der XMLTV-Kanal-ID übereinzustimmen, oder finden Sie einen EPG, der dasselbe ID-Schema verwendet, das Ihre M3U verwendet.
Welches XMLTV-Format wird von den meisten IPTV-Playern unterstützt?
Das Standard-XMLTV-DTD-Format ist das, was praktisch jeder Player erwartet. Sowohl unkomprimierte.xml und gzipped.xml.gz werden weitgehend unterstützt — die meisten modernen Player verarbeiten gzip transparent. Eine Handvoll älterer Player erfordert, dass die URL ausdrücklich mit.xml oder.xml.gz endet und folgt keinen Weiterleitungen, die die Erweiterung ändern, also verwende direkte rohe URLs anstelle von verkürzten Links.
Kann ich mehrere Länder-EPGs in einer Datei kombinieren?
Ja. Das XMLTV-Format hat ein einzelnes Wurzel-<tv> Element, das alle<channel> und<programme> Elemente enthält. Um zwei Dateien zusammenzuführen: Entferne das Wurzel-Element aus allen bis auf eine Datei, füge die Inhalte zusammen, stelle sicher, dass die Kanal-IDs über die Quellen hinweg einzigartig sind (das sind sie normalerweise von Design), und schließe das<tv> Tag am Ende. Pythonsxml.etree.ElementTree oder dasxmltv-util Paket erledigt dies sauber, ohne Risiken durch manuelle String-Manipulation.
Was ist, wenn die EPG meines Landes auf GitHub veraltet ist?
Zuerst öffne ein Issue im Repository und beschreibe genau, was kaputt ist — welches Land, welche Kanäle und wie veraltet die Daten sind. Wenn du über Skripting-Fähigkeiten verfügst, schau dir an, wie ein bestehender funktionierender Länderscraper strukturiert ist, und versuche, ihn für den defekten zu replizieren. Ein Pull-Request mit einer funktionierenden Lösung wird viel schneller zusammengeführt als eine Beschwerde. Als kurzfristige Lösung suche auf GitHub nach Projekten für ein einzelnes Land, die deine Region abdecken — es gibt oft kleinere, dedizierte Projekte mit besserer Genauigkeit für spezifische Märkte.
Wie groß sind Multi-Länder XMLTV-Dateien?
Ein vollständiger 7-Tage-Guide, der über 100 Länder abdeckt, hat typischerweise eine Größe von 100–300 MB unkomprimiert und sinkt auf 10–30 MB gzipped. Auf Low-End Android TV-Boxen (1–2 GB RAM) kann das Laden einer 200 MB Datei dazu führen, dass der Player hängt oder abstürzt. Filtere die Datei auf deine tatsächliche Kanalliste — 150 Kanäle aus einer 200 MB Datei ergeben oft ein Ergebnis unter 5 MB, das jedes Gerät sofort verarbeitet.