M3U oder ein Anbieter-Login: was Sie tatsächlich nehmen sollten
Derselbe Anbieter gibt Ihnen beides, und es sind nicht zwei Formate für dieselben Daten. Das eine ist eine Fotografie und das andere ein Gespräch.
Ihr Anbieter hat Ihnen eine E-Mail mit einem Benutzernamen, einem Passwort und einem Host geschickt. Dieselbe E-Mail oder dasselbe Anbieterkonto gibt Ihnen auch eine lange Adresse, die eine Playlist-Datei herunterlädt. Das sind nicht 2 Formate für dieselbe Information. Es sind nicht dieselben Daten zweimal, und das falsche zu nehmen kostet Sie Funktionen, von denen Sie später annehmen werden, die App habe sie nicht.
Was jedes davon tatsächlich ist
Ein M3U-Export ist eine Textdatei: Sendernamen und Adressen, in dem Moment erzeugt, in dem Sie danach gefragt haben, mit einigen angehängten Attributen. Es ist eine Fotografie Ihres Kontos.
Ein Anbieter-Login meldet Sie bei der API des Anbieters an, die ein HTTP-Endpunkt ist, der Fragen beantwortet. Sie ist ein Gespräch mit Ihrem Konto, und die Antworten ändern sich, wenn sich das Konto ändert.
Konkret ist die API ein einziger Endpunkt beim Anbieter, der neben Benutzername und Passwort einen Aktionsparameter entgegennimmt, statt einer Menge von Ressourcen:
(no action) handshake: account status and allowance
get_live_categories the live categories
get_live_streams every live channel
get_live_streams + category_id the channels in one category
get_vod_info + vod_id details of one film
get_series_info + series_id seasons and episodes of one series
get_short_epg + stream_id the next few programmes on one channel
Der Export wohnt auf demselben Anbieter-Server, auf einem anderen Pfad. Ein Export und eine API-Sitzung sind also 2 Sichten auf 1 Konto und nicht 2 Produkte, und deshalb ist "was soll ich nehmen" eine echte Frage.
Die drei Dinge, die nur die API ausdrücken kann
Kategorien als Daten. Ein Export trägt je Eintrag ein Attribut group-title, und das ist eine Zeichenkette. Die API hat Kategorieobjekte mit Kennungen, und Streams verweisen darauf. Bei einer kleinen Playlist ist der Unterschied theoretisch. Bei einer echten nicht: eine Produktionsquelle in unserer eigenen Stichprobe trug Tausende Titel in vielen Kategorien von sehr unterschiedlicher Größe. Eine flache Liste aus Tausenden Dingen mit einer wiederholten Zeichenkette daran ist eine andere Datenstruktur als ein Katalog, und das Stöbererlebnis folgt daraus, welche davon Sie haben.
Das Verbindungskontingent. Die API meldet, wie viele gleichzeitige Verbindungen Ihr Abo erlaubt. Ein Export kann das nicht sagen, denn eine Liste von Adressen hat keinen Platz dafür.
Das ist keine dekorative Zahl. Multiview liest sie und zählt das Budget, bevor es eine Kachel vergibt, ein Raster mit 9 Kacheln gegen ein Abo mit 2 Verbindungen anzufordern wird also in der Auswahl abgelehnt statt als 7 gleichlautende Wiedergabefehler auf dem Raster. Ohne die API unmöglich. Verbindungslimits des Anbieters behandelt die Zählweise.
Das Archiv. Ein Anbieter-Server kann melden, welche Sender ein zurückspulbares Fenster führen und wie tief es reicht. Das ist die gesamte Grundlage von Catch-up, und auch dafür gibt es in einer M3U-Zeile keinen Ort.
Wie der Client es nutzt, ist wichtig: Catch-up-Adressen werden aus einem Sender, einer Startzeit und einer Dauer konstruiert, statt je Sendung irgendwo gelesen zu werden. Der Anbieter-Server sagt uns, dass das Fenster existiert, und wir bauen die Adressen selbst. Was Catch-up und Timeshift sind behandelt den Mechanismus.
Was eine Playlist weiterhin besser kann
Drei Dinge, und sie sind echt und kein Trostpreis.
Sie funktioniert ohne API. Viele Quellen haben überhaupt keinen Anbieter-Login. Eine gemeinschaftlich gepflegte Liste öffentlicher Streams, die eigene Datei eines lokalen Senders, eine Playlist, die Sie selbst geschrieben haben: keine davon hat eine API, und eine M3U ist dafür das universelle Format.
Sie lässt sich ansehen. Öffnen Sie sie in einem Texteditor und Sie sehen genau, was Sie haben. Wenn etwas nicht stimmt, ist es viel wert, die Eingabe lesen zu können, und über eine API-Antwort, die Sie nicht sehen, lässt sich schwerer nachdenken.
Sie überlebt. Eine heruntergeladene Datei funktioniert weiter, während der Anbieter-Server wegen Wartung offline ist, jedenfalls bis die Adressen darin ablaufen.
Einen Messwert hier liest man leicht über. In einem vermessenen Bestand aus 308 Live-Einträgen endeten 303 auf .m3u8, 5 hatten keine Endung, und keiner endete auf .ts. Dieser Bestand besteht aus kuratierten Verzeichnis-Playlists und nicht aus Exporten von Anbieter-Servern, er sagt also etwas darüber, wie öffentliche Playlists geschrieben werden, und nichts darüber, was Ihr Anbieter ausliefert. Wir haben keinen vermessenen Bestand an Live-Adressen von Anbieter-Servern.
Das, was keines von beiden Ihnen sagt
Weder ein Export noch die API sagt einem Client, welchen Transportweg ein Sender tatsächlich nutzt. Der Datensatz eines Live-Senders in unserem Katalog hat kein Behälter-Feld, kein Transport-Feld und kein MIME-Feld. Es gibt keinen Ort, an dem diese Information wohnen könnte, denn keine der beiden Quellen liefert sie.
Der Transportweg kann also immer nur aus der Adresszeichenkette erschlossen werden, und der Client fordert für Live-Sender .ts an, ohne Verzweigung und ohne Einstellung. Einem Anbieter-Server steht es frei, das auf ein HLS-Manifest umzuleiten. Manche tun es.
Es gibt auf einer Quelle mit Anbieter-Login ein Bedienelement Stream-Format, und es tut derzeit nichts. Es normalisiert seinen Wert, speichert ihn und lädt ihn wieder, und als ich nach dem Adressbaumeister oder dem Wiedergabecode gesucht habe, der ihn zurückliest, konnte ich keinen finden, denn es gibt keinen. Es steht auf der Liste und ist kein Schalter, den Sie zu finden versäumen. MPEG-TS oder HLS behandelt, was die beiden Transportwege tatsächlich unterschiedlich machen und warum der Unterschied weniger zählt, als es klingt.
Was ein Export tatsächlich trägt, gemessen
Der Fall für einen Export lautet, dass die Attribute an jeder Zeile das meiste tragen, was ein Katalog braucht. Das stimmt, wenn sie vorhanden sind, und wie oft sie vorhanden sind, schwankt.
Über 2.203 Einträge in unserem eigenen Bestand gemessen:
entries tvg-id group-title tvg-chno
playlist_01.m3u 308 308 (100%) 283 0
playlist_02.m3u8 1,895 1,392 (73.5%) 1,895 1,355
Beide Dateien sind kuratierte Verzeichnis-Playlists und keine Exporte von Anbieter-Servern, lesen Sie das also als Vorführung der Schwankungsbreite und nicht als Vorhersage über Ihren Anbieter.
Drei Dinge in dieser Tabelle stechen heraus.
Die Gruppentitel stehen auf jedem Eintrag beider Dateien. Die Gruppierung ist das Attribut, das Anbieter richtig hinbekommen, denn sie ist das eine, das ihr eigenes Produkt sichtbar kaputt macht, wenn sie es weglassen.
Sendernummern fehlen in einer Datei vollständig und stehen auf 71 Prozent der anderen. Wenn Ihnen wichtig ist, dass Ihre Sender in der Reihenfolge der Ausstrahlung erscheinen, ist das ein echter Unterschied zwischen Quellen und lohnt eine Prüfung, bevor Sie sich auf eine festlegen. Sendernummern in einer Playlist behandelt, was das Attribut tut.
Und 20 Einträge in der zweiten Datei tragen ein Kennungsattribut, das vorhanden und leer ist. Eine leere Kennung ist keine Kennung, und sie als eine zu behandeln würde diese 20 Sender miteinander verknüpfen. Das muss ausdrücklich behandelt werden, statt zufällig aus dem Code zu fallen.
Serien und Filme: wo die beiden am stärksten auseinandergehen
Live-Sender sind der Bereich, in dem ein Export der Angemessenheit am nächsten kommt, denn ein Live-Sender ist tatsächlich ein Name und eine Adresse. Bei Abrufinhalten öffnet sich die Lücke.
Ein Film in einem Export ist eine Zeile: ein Titel und eine Adresse. Ein Film über die API ist ein Objekt mit einem eigenen Detailaufruf, und dort wohnen Handlung, Besetzung, Jahr, Freigabe und die Behälterendung.
Diese letzte ist keine Nettigkeit. Die API meldet die Behälterendung für einen Film, und der Client baut die Adresse daraus:
live https://provider.example.com/stream/{stream_id}.ts
film https://provider.example.com/movie/{vod_id}.{container_ext}
Live ist ein festes .ts. Ein Film ist das, was die API meldet, denn Filme sind gespeicherte Dateien mit echten Behältern, und ein Client, der raten würde, würde falsch raten.
Serien liegen auf derselben Achse noch weiter außen. Ein Export flacht eine Serie zu einer Liste von Episodenadressen ab, mit Namen, die Staffel und Episode kodieren, wenn Sie Glück haben. Die API hat ein Serienobjekt, einen Detailaufruf je Serie und nach Staffeln gruppierte Episoden. Eine Serienbibliothek, die sich wie eine Serienbibliothek verhält und nicht wie ein Ordner voller Dateien, braucht diese Struktur von irgendwoher.
Anbieter zusammenführen, und wo diese Arbeit passiert
Sobald Sie mehr als eine Quelle haben, ist der naheliegende Wunsch eine Senderliste statt zweier, mit demselben Sender aus zwei Anbietern einmal aufgeführt und mit Wechsel zwischen ihnen.
Das wird unterstützt, und die Regel dahinter erklärt das Leistungsverhalten. Der Server speichert die Definition einer zusammengeführten Quelle und sonst nichts: Auflösung und Materialisierung laufen immer auf dem Gerät.
Das Zusammenführen, das Zuordnen und der Index passieren also alle auf dem Rechner, auf dem Sie zusehen. Das hält den Dienst darüber im Unklaren, was in Ihrer Playlist steht, und das ist dieselbe Regel, die ihn davon abhält, Ihre M3U überhaupt auszuwerten. Der Preis ist, dass die Arbeit einmal je Gerät statt einmal je Konto erledigt wird, und das ist ein Teil des Grundes, warum ein erster Start nach dem Hinzufügen einer großen Quelle langsamer ist als jeder Start danach.
Der quellenübergreifende Wiedergabewechsel setzt darauf auf. Ein Sender, den es in zwei Quellen gibt, kann auf die andere wechseln, wenn die erste ausfällt.
Was Sie nehmen sollten
Wenn Ihr Anbieter Ihnen einen Host, einen Benutzernamen und ein Passwort gegeben hat, nehmen Sie die. Fügen Sie sie als Anbieter-Login hinzu. Sie bekommen den Katalog mit echten Kategorien, die Verbindungszahl, die Multiview ehrlich macht, und Catch-up, wo der Anbieter es anbietet. Der Export gibt Ihnen nichts davon und keinen ausgleichenden Vorteil.
Wenn Sie eine Playlist haben und sonst nichts, nehmen Sie die Playlist. Dafür ist sie da, und das meiste der App funktioniert identisch.
Wenn Sie beides haben und einen Fehler suchen, ist der Export ein nützliches Diagnosemittel, selbst wenn Sie die API im Betrieb nutzen. Er ist das eine Artefakt, das Sie lesen können.
Das Einzige, was Sie nicht tun sollten, ist beides als getrennte Quellen hinzuzufügen und zu erwarten, dass die App herausfindet, dass es dasselbe Konto ist. Es sind 2 Quellen, jede verbraucht Verbindungen, und die Verbindungsrechnung wird über eine Lage recht behalten, die Sie nicht beabsichtigt haben.
Um eines von beiden auf eine Konsole zu bringen, behandeln eine M3U-Playlist für die Xbox hinzufügen und mit einem Anbieterkonto auf der Xbox anmelden dieselbe Entscheidung von der Einrichtungsseite. Was die Attribute in einem Export bedeuten, behandelt M3U+ gegen einfaches M3U.
Was dieser Artikel gemessen hat21 Behauptungen, jeweils mit den Beweisen dahinter
| Anspruch | Beweise | Gezählt |
|---|---|---|
| Die API hinter einem Anbieter-Login ist ein Endpunkt, der einen Aktionsparameter entgegennimmt, und keine Menge von Ressourcen. Fünfzehn Aktionen decken den gesamten Katalog ab: Kategorien und Streams für Live, Video und Serien, dazu Einzelheiten je Eintrag, ein kurzer Programmführer und eine Datentabelle. | n = 15 | 31.08.2026 |
| Stream-Adressen werden vom Client aus einer Vorlage gebaut und nicht aus der API-Antwort gelesen: Live nutzt eine .ts-Endung und Video auf Abruf eine Behälterendung, die die API meldet. | n = 2 | 31.08.2026 |
| Der M3U-Export wird von demselben Anbieter-Server auf einem anderen Pfad ausgeliefert, ein Export und eine API-Sitzung sind also zwei Sichten auf ein Konto und nicht zwei Produkte. | n = 1 | 31.08.2026 |
| Das Bedienelement Stream-Format, das eine Quelle mit Anbieter-Login anbietet, normalisiert seinen Wert, speichert ihn und lädt ihn wieder, und es wird von keinem Adressbaumeister und keinem Wiedergabecode gelesen. | n = 1 | 23.08.2026 |
| Der Datensatz eines Live-Senders trägt kein Feld für Behälter, Transportweg oder MIME-Typ, der Transportweg kann also immer nur aus der Adresse erschlossen und nie aus dem Katalog gelesen werden. | n = 1 | 23.08.2026 |
| Das Verbindungskontingent, das ein Anbieter-Server meldet, wird genutzt und nicht bloß angezeigt: Multiview zählt es, bevor es eine Kachel vergibt, und hört auf, Sender aus einer erschöpften Quelle anzubieten. | n = 1 | 15.08.2026 |
| Catch-up-Adressen werden vom Client aus einem Sender, einer Startzeit und einer Dauer gebaut, statt je Sendung aus dem Programmführer gelesen zu werden. | n = 1 | 23.08.2026 |
| Eine Produktionsquelle in unserer eigenen Stichprobe trug Tausende verschiedener Titel in vielen Anbieterkategorien von sehr unterschiedlicher Größe. | n = 1 | 31.08.2026 |
| Über 2.203 Einträge in unserem eigenen Playlist-Bestand gemessen: die Abdeckung mit Kennungen lag in der einen Datei bei 100 Prozent und in der anderen bei 73.5 Prozent, Sendernummern fehlten in einer Datei vollständig und lagen in der anderen auf 1355 Einträgen vor, und Gruppentitel standen auf jedem Eintrag beider Dateien. | n = 2203 | 31.08.2026 |
| Mehrere Anbieter zu einer Senderliste zusammenzuführen ist nach Entwurf eine Angelegenheit des Clients: der Server speichert die Definition einer zusammengeführten Quelle und sonst nichts, und Auflösung und Materialisierung laufen immer auf dem Gerät. | n = 1 | 31.08.2026 |
| Dreizehn Arten von Kontozustand werden zwischen Geräten synchronisiert, und die Playlist ist keine davon: unterwegs sind die Definition der Quelle und Ihre Entscheidungen dazu. | n = 13 | 01.09.2026 |
| Die Einstellungen je Quelle sind eine eigene synchronisierte Familie, getrennt von der Quelle selbst, und so erreicht eine an einer Stelle vorgenommene Einstellung ein Gerät, das keinen Editor dafür anbietet. | n = 1 | 01.09.2026 |
| Es gibt zwei Übersteuerungsfamilien und der Unterschied zählt: Darstellungsübersteuerungen gelten je Quelle, während Programmkorrekturen auf Profilebene und quellenfrei sind. | n = 2 | 01.09.2026 |
| Ein Konto hält höchstens 10 hochgeladene Playlists, geprüft beim Start eines Uploads und nicht an seinem Ende. | n = 1 | 01.09.2026 |
| Welchen Weg Sie auch wählen, der Server wertet ihn nicht aus: ein Datei-Import wird verschlüsselt gespeichert, ein Adress-Import hält Metadaten fest, und das Auswerten passiert auf dem Gerät, das abspielen wird. | n = 1 | 01.09.2026 |
| Eine eingefügte Adresse wird bis zu 2048 Zeichen angenommen, was die mit Token versehenen Adressen eines Anbieters bequem abdeckt. | n = 1 | 01.09.2026 |
| Das Verbindungskontingent, das die API meldet, wird umgesetzt statt gezeigt: ein Layout zählt es, bevor es eine Kachel vergibt, und hört auf, Sender aus einer erschöpften Quelle anzubieten. | n = 1 | 15.08.2026 |
| Der Wechsel zwischen Quellen kostet während der Überlappung eine zusätzliche Verbindung, weshalb der Planer immer dann verweigert, wenn diese Verbindung nicht nachweislich frei ist, und auf einen gewöhnlichen Neustart zurückfällt. | n = 1 | 01.09.2026 |
| Die Programmdaten werden in beiden Fällen getrennt von der Quelle eingerichtet, wobei der globale Modus bis zu 15 Adressen annimmt und der Modus je Land ab 5 Ländern warnt. | n = 2 | 01.09.2026 |
| Die Dateien des Programmführers werden von Ihren Geräten heruntergeladen und nicht von unseren Servern, und das steht auf dem Einstellungsbildschirm, statt als Umsetzungsdetail zu gelten. | n = 1 | 01.09.2026 |
| In einem vermessenen Playlist-Bestand endeten 303 von 308 Live-Pfaden auf .m3u8, 5 hatten keine Endung, und keiner endete auf .ts. Dieser Bestand besteht aus kuratierten Verzeichnisdateien und nicht aus Exporten von Anbieter-Servern und sagt nichts darüber, was ein Anbieter ausliefert. | n = 308 | 23.08.2026 |