AICKO IPTV: die kostenlose App für deine IPTV-Playlists Herunterladen

Veröffentlicht am · vom AICKO-IPTV-Team · 6 Min. Lesezeit

EPG: ein Programmführer, der getrennt reist

Der EPG (Electronic Program Guide, elektronischer Programmführer) ist das Raster, das anzeigt, was auf jedem Sender gerade und als Nächstes läuft. Beim digitalen Antennenfernsehen werden diese Informationen im Signal selbst übertragen, in genormten Tabellen nach dem DVB-Standard. Im Internet ist es anders: Das Video eines Senders und sein Programmführer kommen in der Regel auf zwei getrennten Wegen an.

EPG und XMLTV: Woher der Programmführer kommt

Auf der einen Seite empfängt der Player den Videostream aus einer M3U-Playlist oder einer Xtream-Codes-Verbindung. Auf der anderen lädt er eine Programmführer-Datei herunter, fast immer im Format XMLTV, die mehrere Tage Programm für Dutzende oder Hunderte Sender beschreibt. Die Aufgabe des Players besteht dann darin, jeden Sender der Playlist seinem Raster in der Datei zuzuordnen.

Diese Trennung erklärt die meisten Probleme: Ein Sender kann einwandfrei laufen und trotzdem einen leeren Programmführer haben, weil Video und Programmführer nicht voneinander abhängen.

Der Aufbau einer XMLTV-Datei

XMLTV ist ein offenes Format, das Anfang der 2000er Jahre in der Open-Source-Community entstand und auf der Sprache XML beruht. Eine Datei enthält ein Wurzelelement <tv> und dann zwei Arten von Blöcken: die Sender und die Sendungen.

<?xml version="1.0" encoding="UTF-8"?>
<tv generator-info-name="beispiel">
  <channel id="beispiel1.de">
    <display-name>Beispiel 1</display-name>
    <icon src="https://img.beispiel.de/bsp1.png"/>
  </channel>
  <programme start="20260928204500 +0200" stop="20260928223000 +0200" channel="beispiel1.de">
    <title lang="de">Dokumentation am Abend</title>
    <desc lang="de">Eine Reise ins Innere der Vulkane der Eifel.</desc>
    <category lang="de">Dokumentation</category>
  </programme>
</tv>

Das Element channel

Jedes <channel> trägt ein Attribut id, die eindeutige Kennung des Senders in dieser Datei. Sie ist oft wie ein Domainname aufgebaut (beispiel1.de), aber das ist nur eine Konvention: Jede beliebige Zeichenkette ist gültig. Außerdem enthält es einen oder mehrere Anzeigenamen (<display-name>) und manchmal ein Logo (<icon>).

Das Element programme

Jedes <programme> beschreibt eine Sendung: Startzeit (start), Endzeit (stop), betroffener Sender (channel, das die id eines Elements <channel> aufgreift), Titel und gegebenenfalls Inhaltsangabe, Kategorie, Folge, Jahr, Plakat oder Altersfreigabe. Die Sendungen sind voneinander unabhängig, sodass eine Datei von einigen Stunden bis zu mehreren Wochen abdecken kann.

Die Zuordnung zwischen Playlist und Programmführer: tvg-id

Die Verbindung zwischen dem Sender Ihrer Playlist und seinem Raster beruht auf dem Attribut tvg-id der Zeile #EXTINF. Die Regel ist einfach: Die tvg-id der Playlist muss Zeichen für Zeichen mit der id des <channel> in der XMLTV-Datei übereinstimmen.

#EXTINF:-1 tvg-id="beispiel1.de" group-title="Vollprogramm",Beispiel 1 HD
https://tv.beispiel.de/live/bsp1.m3u8

Steht in der Playlist tvg-id="Beispiel1.de" und im Programmführer id="beispiel1.de", scheitert die Zuordnung bei vielen Playern, weil der Vergleich Groß- und Kleinschreibung beachtet. Fehlt die tvg-id, versuchen manche Player eine Zuordnung über den Namen (tvg-name oder angezeigter Name) mit dem <display-name> des Programmführers; das ist weniger zuverlässig, denn „Beispiel 1 HD“ und „Beispiel 1“ sind nicht identisch.

Bei einer Xtream-Codes-Verbindung geschieht die Zuordnung grundsätzlich automatisch: Der Server liefert für jeden Sender ein Feld epg_channel_id, das die Rolle der tvg-id übernimmt, und einen XMLTV-Programmführer, der zu diesen Kennungen passt. Die Funktionsweise dieser API erläutert unser Artikel zu Xtream-Codes-Verbindungen, die Syntax der Playlists das M3U-Format Zeile für Zeile.

Uhrzeiten, Zeitzonen und Verschiebungen

XMLTV-Zeiten werden in der Form JJJJMMTThhmmss geschrieben, gefolgt von einer Abweichung von der koordinierten Weltzeit (UTC). So bedeutet 20260928204500 +0200 den 28. September 2026 um 20:45 Uhr, in einer Zeitzone, die UTC um zwei Stunden voraus ist, also 18:45 Uhr UTC.

In Deutschland, Österreich und der Schweiz (ebenso wie in Frankreich) gilt die gesetzliche Zeit UTC+1 im Winter (+0100) und UTC+2 im Sommer (+0200). Die Umstellung auf die Sommerzeit erfolgt am letzten Sonntag im März, die Rückkehr zur Winterzeit am letzten Sonntag im Oktober. Ein korrekter Programmführer für einen Sender dieser Zone muss die Abweichung also zu diesen Terminen ändern oder alles in UTC mit +0000 ausdrücken.

Der Player rechnet diese Zeiten anschließend in die Zeitzone Ihres Geräts um. Daher gibt es drei mögliche Quellen für eine Verschiebung:

SymptomWahrscheinliche UrsacheAbhilfe
Der ganze Programmführer ist genau eine Stunde verschobenDie Datei gibt eine feste Abweichung an, die die Zeitumstellung ignoriert, oder +0000, obwohl die Zeiten lokal sindEinstellung zur Verschiebung des Programmführers im Player oder Attribut tvg-shift
Verschiebung um mehrere StundenZeitzone des Geräts falsch eingestellt oder Programmführer für ein anderes LandDatum, Uhrzeit und Zeitzone in den Systemeinstellungen prüfen
Nur ein Sender verschobenSender wird aus einer anderen Zeitzone gesendet oder absichtlich versetzt (Version „+1“)tvg-shift nur für diesen Sender
Verschiebung um einige MinutenDer Sender hält seine angekündigten Zeiten nicht einKeine: Der Programmführer gibt das geplante Raster wieder

Das Attribut tvg-shift steht in einer Zeile #EXTINF und wird in Stunden angegeben, gegebenenfalls negativ oder mit Dezimalstellen: tvg-shift="-1" setzt den Programmführer für diesen Sender um eine Stunde zurück. Das ist ein Pflaster: Taucht die Verschiebung bei der Zeitumstellung auf oder verschwindet sie, liegt der eigentliche Fehler in der Quelldatei.

Eine letzte Falle, häufig bei TV-Sticks und Boxen: ein falsches Systemdatum. Hat das Gerät seine Uhr nicht synchronisiert (kein Netzwerk beim Start, fehlende Pufferbatterie), sucht der Player die Sendungen eines anderen Tages und zeigt nichts an. Aktivieren Sie in den Einstellungen die automatische Datums- und Zeiteinstellung.

Leerer Programmführer: die Ursachen der Reihe nach

Bleibt der Programmführer hartnäckig leer, gehen Sie methodisch vor, vom Einfachsten zum Technischsten.

  1. Der Programmführer ist noch nicht geladen. Eine große Datei kann beim ersten Download einige Sekunden bis mehrere Minuten brauchen, besonders auf einem schwachen Gerät. Lassen Sie den Player fertig werden und öffnen Sie dann die Senderliste erneut.
  2. Es ist keine Adresse für den Programmführer eingetragen. Bei einer M3U-Playlist braucht es entweder ein Attribut url-tvg im Kopf oder eine in den Einstellungen des Players eingegebene Adresse.
  3. Die Adresse antwortet nicht. Öffnen Sie sie in einem Browser: Sie sollten einen Download oder XML erhalten, keine Fehlerseite.
  4. Die Kennungen stimmen nicht überein. Suchen Sie die tvg-id eines Senders in der XMLTV-Datei (nach dem Entpacken). Steht sie dort nicht exakt so, ist die Verbindung unterbrochen.
  5. Der Programmführer ist veraltet. Sehen Sie sich die Daten der letzten <programme> an: Eine Datei, die gestern endet, kann heute nichts anzeigen.
  6. Das Datum des Geräts ist falsch. Siehe den vorigen Abschnitt.

Haben nur einige Sender keinen Programmführer, liegt es fast immer an Schritt 4: Diese Sender gibt es in der Datei nicht oder unter einer anderen Kennung. Keine Einstellung des Players kann ein Raster erfinden, das in der Quelle fehlt.

Größe, Kompression und Aktualisierungshäufigkeit

Eine XMLTV-Datei ist wortreich: Jede Sendung wiederholt ihre Tags, Attribute und manchmal lange Inhaltsangaben. Für einige hundert Sender über eine Woche kann die Datei mehrere Dutzend Megabyte wiegen. Deshalb wird sie sehr oft im Format gzip komprimiert angeboten, mit der Endung .xml.gz. Der sehr repetitive XML-Text lässt sich gut komprimieren: Üblich ist eine Verkleinerung um den Faktor fünf bis zehn.

ElementWirkung auf die GrößeTipp
Anzahl der abgedeckten TageProportionalZwei bis drei Tage genügen für das Live-Programm
Anzahl der SenderProportionalEin auf Ihre Sender beschränkter Programmführer ist schneller
Inhaltsangaben und BilderErheblichNützlich, machen das Laden aber schwerer
Kompression .gzVerkleinert den Download starkBevorzugen, wenn die Quelle sie anbietet

Auf einem TV-Stick mit wenig Speicher kostet weniger der Download als das Auswerten der Datei: Zehntausende Sendungen müssen gelesen und indexiert werden. Ein gezielter Programmführer lädt deutlich schneller als ein „weltweiter“, von dem Sie nur einen Bruchteil nutzen.

Zur Häufigkeit: Player laden den Programmführer in regelmäßigen Abständen neu (oft einmal täglich) oder auf Anforderung. Wirkt Ihr Raster eingefroren, erzwingen Sie in den Einstellungen eine Aktualisierung. In AICKO IPTV sind dieser Vorgang und das Hinzufügen einer Programmführer-Quelle auf der Seite TV-Programmführer (EPG) beschrieben.

Zusammenfassung

  • Der Programmführer ist eine vom Video getrennte XMLTV-Datei.
  • Er enthält Elemente <channel> und <programme>, die über eine Kennung verbunden sind.
  • Die tvg-id der Playlist muss exakt identisch mit der id des Programmführers sein.
  • Die Zeiten tragen eine UTC-Abweichung (+0100 oder +0200 in Mitteleuropa); tvg-shift korrigiert einen verschobenen Sender.
  • Ein als .xml.gz komprimierter und auf Ihre Sender beschränkter Programmführer lädt schneller.

Häufige Fragen

Warum ist mein Programmführer seit der Zeitumstellung um eine Stunde verschoben?

Die Quelldatei verwendet eine feste Abweichung, die dem Wechsel zur Sommer- oder Winterzeit nicht folgt. Die dauerhafte Abhilfe ist eine korrigierte Quelle; bis dahin gleicht eine Verschiebung um eine Stunde in den Einstellungen des Programmführers oder ein tvg-shift den Fehler aus.

Kann ich einen anderen Programmführer als den meines Dienstes verwenden?

Ja, wenn Ihr Player die Eingabe einer XMLTV-Adresse erlaubt. Der Programmführer funktioniert aber nur, wenn seine Sender-Kennungen zu den tvg-id Ihrer Playlist passen; andernfalls müssen Sie diese Kennungen in der Playlist anpassen.

Muss der Player die .gz-Datei selbst entpacken?

Ja, die meisten TV-Player akzeptieren .xml.gz-Dateien direkt. Selbst entpacken müssen Sie sie nur, um sie zu untersuchen, zum Beispiel mit 7-Zip unter Windows.

Warum haben manche Sender einen Programmführer und andere nicht?

Sender ohne Programmführer fehlen in der XMLTV-Datei oder stehen dort unter einer anderen Kennung als ihre tvg-id. Der Player kann nur anzeigen, was die Quelle beschreibt.

Weiterlesen

Das könnte Sie auch interessieren

🧩

Formate und Technik

Das M3U- und M3U8-Format Zeile für Zeile erklärt

#EXTM3U, #EXTINF, tvg-id, tvg-logo, group-title: So ist jede Zeile einer M3U-Liste aufgebaut, wie Sie Codierungsfehler vermeiden und eine eigene Playlist erstellen.

Artikel lesen
🧩

Formate und Technik

So funktioniert eine Xtream-Codes-Verbindung

Server, Port, Benutzername, player_api.php, Kategorien, Filme, Serien, Ablaufdatum und gleichzeitige Verbindungen: So funktioniert eine Xtream-Codes-Verbindung.

Artikel lesen
🧩

Formate und Technik

HLS, MPEG-TS und DASH: die Protokolle des Video-Streamings

Segmente, Manifeste, adaptive Bitrate, Latenz und Gerätekompatibilität: HLS, MPEG-TS und MPEG-DASH, die drei Formate des Video-Streamings, verständlich erklärt.

Artikel lesen

AICKO IPTV herunterladen

Die App ist kostenlos und arbeitet mit Ihrem eigenen IPTV-Abonnement. Wählen Sie Ihr Gerät: Der Mobil-Link führt Sie automatisch in den richtigen Store.

Android und iOS Mobile Version Windows 10 und 11 PC-Version Samsung, Android TV, Fire TV Fernsehversion
Laden im App Store Jetzt bei Google Play Erhältlich beiMicrosoft Store Erhältlich beiAmazon Appstore