Wenn Sie jemals nach IPTV gesucht haben, sind Ihnen zwei Begriffe immer wieder begegnet: "M3U-URL" und "Xtream Codes". Unter der Haube sind sie fast dasselbe, und fast jeder moderne Player unterstützt beides, aber die Wahl macht dennoch einen Unterschied — sie weisen unterschiedliche Fehlerbilder auf, und der Wechsel von einem zum anderen ist oft die einfachste Lösung, wenn etwas nicht funktioniert.
Dies ist ein Vergleich für den praktischen IPTV-Nutzer, keine Aufschlüsselung des Protokolls.
M3U ist ein einmaliger Abruf einer Datei; Xtream ist eine kleine API, mit der der Player kontinuierlich kommuniziert.
Was sie eigentlich sind
M3U ist eine einfache Textdatei. Wenn Sie eine in einem Texteditor öffnen, sehen Sie eine Kopfzeile (#EXTM3U) und dann eine Reihe von #EXTINF:…-Zeilen, die jedem Kanal eine Stream-URL zuordnen. Es ist wohl das einfachste Format, das es gibt. Ihr Player lädt die Datei einmal herunter, parst sie und verfügt dann über eine Senderliste.
#EXTM3U
#EXTINF:-1 tvg-id="bbc1" group-title="UK",BBC One HD
http://provider.example/live/bbc1/index.m3u8
Das ist das gesamte Datenmodell: eine Liste von Sendern, jeder mit einem Namen und einer URL. Nichts ist dynamisch. Wenn Sie eine aktualisierte Liste möchten, laden Sie die Datei erneut herunter.
Xtream Codes ist eine HTTP-API. Sie geben dem Player einen Server, einen Benutzernamen und ein Passwort; der Player ruft eine Handvoll Endpunkte (get.php?type=m3u_plus, player_api.php, xmltv.php) auf, um die Senderliste, die VOD-Bibliothek, den Serienkatalog und den Programmführer als separate Dokumente abzurufen. Die eigentlichen Stream-URLs werden vom Player aus den Zugangsdaten und der Kanal-ID generiert.
Technisch gesehen gibt ein Xtream-Login fast immer eine M3U als einen seiner Endpunkte zurück — wenn Sie eine "M3U importieren" von einem Xtream-Anbieter, nutzen Sie einen spezifischen Aufruf der API. Umgekehrt gilt dies nicht: Eine reine M3U stellt nichts anderes zur Verfügung.
Wann man welches wählen sollte
Verwenden Sie M3U, wenn:
- Sie sich nur für Live-Sender interessieren. M3U kennt kein Konzept für VOD oder Serienkataloge; wenn Ihr Anbieter diese anbietet, werden sie über M3U nicht angezeigt.
- Sie einen lokalen Snapshot behalten möchten. Die M3U-Datei ist portabel — sichern Sie sie, bearbeiten Sie sie in einem Texteditor, teilen Sie eine kuratierte Auswahl mit jemand anderem.
- Sie dem Anbieter nicht vertrauen, dass er langfristig bleibt. Eine exportierte M3U funktioniert so lange, wie die darin enthaltenen Stream-URLs funktionieren, selbst wenn der API-Endpunkt des Anbieters morgen verschwindet.
- Der Anbieter fehlerhaft ist. M3U hat weniger bewegliche Teile. Wenn dessen Xtream-API unzuverlässig ist, der M3U-Export aber funktioniert, nutzen Sie einfach M3U.
Verwenden Sie Xtream Codes, wenn:
- Sie VOD und Serien wünschen. Diese werden bei normaler M3U einfach nicht angezeigt.
- Sie Kategorien möchten, die der Player nativ nutzen kann. Xtream sendet "Live", "VOD" und "Serien" als separate Bäume; M3U hat nur
group-title-Strings, die zwar konventionell, aber nicht strukturiert sind. - Sie oft das Gerät wechseln und nicht neu importieren möchten. Die Xtream-Zugangsdaten funktionieren überall, und jeder kompatible Player wird genau dieselbe Bibliothek daraus abrufen.
- Sie möchten, dass der Player die Senderliste dynamisch aktualisiert. Xtream ruft pro Sitzung neu ab; M3U ist eine Momentaufnahme.
Wie Sie wissen, was Sie haben
Wenn Sie sich bei einem Anbieter angemeldet haben und er Ihnen eine einzige Zeile wie diese geschickt hat:
http://server.example:8080/get.php?username=ABC&password=XYZ&type=m3u_plus&output=mpegts
Das ist eine M3U-URL. Sie können sie direkt in den M3U-Tester einfügen, um zu prüfen, ob sie funktioniert.
Wenn er Ihnen drei Dinge geschickt hat — eine Server-URL, einen Benutzernamen, ein Passwort —, ist das ein Xtream-Login. Die meisten modernen Player haben ein separates Formular "Xtream-Quelle hinzufügen". Die meisten Anbieter stellen erfreulicherweise beides zur Verfügung: Dieselben Zugangsdaten funktionieren über beide Schnittstellen, und Sie können den M3U-Tester verwenden, um den Playlist-Endpunkt zu verifizieren, sowie den EPG-Validator, um den Programmführer-Endpunkt zu prüfen, und das alles, ohne etwas installieren zu müssen.
Häufige Fehlermodi (und zu welcher Form Sie wechseln sollten)
Derselbe Anbieter kann auf der einen Schnittstelle perfekt funktionieren und auf der anderen fehlerhaft sein. Sechs Fehlermodi sollte man kennen.
M3U gibt HTML zurück
Sie fügen die URL in den Tester ein und erhalten die Meldung "Der Server hat eine HTML-Seite zurückgegeben". Das bedeutet normalerweise, dass der M3U-Endpunkt ein Sitzungscookie erfordert, oder dass Ihr Anbieter die IP, die zugreift, gedrosselt (Rate-Limit) hat. Versuchen Sie es mit Xtream — die API-Endpunkte sind oft weniger aggressiv abgeschottet als der M3U-Massenexport.
Xtream gibt "auth failed" zurück, aber M3U funktioniert
Einige Anbieter aktualisieren ihre Xtream-Datenbank für Zugangsdaten mit Verzögerung. Die M3U-URL wird bei der Ausstellung signiert und funktioniert sofort; die API lehnt Sie ab, weil sie das neue Passwort noch nicht übernommen hat. Warten Sie eine Stunde oder nutzen Sie einfach die M3U.
Ein Player kann es lesen, ein anderer nicht
Xtream Codes ist ein de facto-Standard, kein echter. Es gibt Anbieter, die behaupten, Xtream zu unterstützen, aber nur zwei der Standardendpunkte implementieren; es gibt Player, die einen nicht standardmäßigen Endpunkt aufrufen und fehlschlagen, wenn er fehlt. Wenn ein Player Ihren Xtream-Anbieter nicht lesen kann, aber M3U problemlos liest, wechseln Sie zu M3U. Der umgekehrte Fall ist seltener, kommt aber vor.
Senderlogos fehlen bei M3U, sind bei Xtream vorhanden
In M3U sind die Logo-URLs eingebettet (tvg-logo="…"). Bei Xtream werden sie über einen Logo-Endpunkt bereitgestellt. Wenn Ihre M3U fehlerhafte oder veraltete Logo-URLs hat, wird ein Wechsel zu Xtream diese neu laden. Der umgekehrte Fall (Logos in M3U, fehlend in Xtream) tritt fast nie auf.
EPG verknüpft sich in einer Form mit Sendern, in der anderen nicht
Die XMLTV-ID <channel id="…"> muss mit tvg-id="…" in der M3U oder dem channel-id-Feld in Xtream übereinstimmen. Diese IDs sind nicht immer in beiden Formaten gleich — Anbieter generieren sie gelegentlich nach einem Zeitplan neu. Wenn Ihr Programmführer in M3U leer ist, in Xtream aber gefüllt, stimmten die IDs in der M3U nicht überein; nutzen Sie einfach Xtream.
Eine Form ist schneller
Xtream über ein langsames Netzwerk führt wesentlich mehr Round-Trips durch als M3U. Bei einer instabilen Verbindung kann der Unterschied beim Start 5–10 Sekunden betragen. M3U lädt einmal herunter und arbeitet dann mit den lokalen Daten weiter. Wenn Ihnen die Geschwindigkeit beim ersten Start wichtig ist, gewinnt meistens M3U.
Was Klipa tut
Klipa unterstützt beides, behandelt sie als austauschbare Quellen (Sie können ein M3U- und ein Xtream-Login nebeneinander in derselben Bibliothek haben) und ruft beides im Hintergrund neu ab. Wenn die M3U beginnt, HTML zurückzugeben, hält die Xtream-Sitzung Ihre Senderliste bis zur nächsten Aktualisierung am Leben. Wenn die Xtream-Authentifizierung fehlschlägt, funktioniert die zwischengespeicherte M3U weiter.
Die klare Empfehlung lautet: Wählen Sie das, was Ihr Anbieter zuverlässiger anbietet, aber bleiben Sie nicht blind einer Form treu. Das Format ist nicht das Produkt. Die Sender sind es.