Jeśli słyszałeś termin „M3U", ale wyjaśnienia, które czytałeś, od razu skakały do typów MIME i atrybutów rozszerzonych, to jest ta wersja, której chciałeś. M3U to plik tekstowy zawierający listę URL-i do mediów. To cała koncepcja. Reszta to szczegóły.

Ten artykuł rozkłada na czynniki, co naprawdę jest w środku, czym różnią się „M3U" od „M3U8" od „extended M3U" i dlaczego każdy dostawca IPTV używa tego formatu.

Najprostsze możliwe M3U

Cały format w trzech liniach:

#EXTM3U
#EXTINF:-1,Big Buck Bunny
https://example.com/bunny.mp4

Nagłówek (#EXTM3U), jeden wpis kanału (jedna linia #EXTINF, po niej URL), gotowe. Każdy odtwarzacz, który obsługuje M3U, przeczyta te trzy linie i zaoferuje odtworzenie „Big Buck Bunny". Możesz zapisać powyższy przykład jako test.m3u, kliknąć dwukrotnie, a VLC go odtworzy. Nie ma kompilatora, kodowania ani walidatora schematu. To formatowy odpowiednik listy zakupów.

Co naprawdę zawiera #EXTINF

Każdy kanał w prawdziwej liście IPTV wygląda bardziej tak:

#EXTINF:-1 tvg-id="bbc1.uk" tvg-logo="https://logos.example/bbc1.png" group-title="UK",BBC One HD
http://provider.example/live/abc123/index.m3u8

Części składowe:

  • -1 — czas trwania w sekundach. Dla kanałów na żywo to zawsze -1 (czyli „nieznany / nieograniczony"). Wpisy VOD podają tu rzeczywisty czas trwania.
  • tvg-id — identyfikator używany, by dopasować ten kanał do wpisów w elektronicznym przewodniku po programach. Jeśli plik EPG zawiera <channel id="bbc1.uk">, odtwarzacz IPTV wie, że program należy do tego kanału.
  • tvg-logo — URL do logo kanału. Opcjonalny; gdy brakuje, odtwarzacz pokazuje placeholder.
  • group-title — kategoria, w jakiej kanał pojawia się w odtwarzaczu. Typowe nazwy: „UK", „Sport", „Filmy", „Wiadomości".
  • BBC One HD — wszystko po przecinku to wyświetlana nazwa kanału.

Jest jeszcze URL w następnej linii — to faktyczny strumień. Zwykle jest to playlista HLS (kończąca się na .m3u8) albo strumień TS (kończący się na .ts).

Lista prawdziwego dostawcy to po prostu tysiące takich wpisów ułożonych jeden za drugim.

Co oznacza „M3U8"

M3U8 to ten sam format, zakodowany w UTF-8. Rozszerzenie .m3u8 istnieje, bo oryginalna specyfikacja M3U zakładała Latin-1 albo lokalne strony kodowe, które nie potrafiły reprezentować arabskich, cyrylicznych ani azjatyckich nazw kanałów. M3U8 to naprawiło.

W nowoczesnym IPTV w praktyce wszystko jest M3U8, nawet jeśli plik nazywa się .m3u. Traktuj je jako synonimy.

Czym jest „URL M3U"

Gdy dostawca IPTV wysyła ci URL w stylu:

http://provider.example:8080/get.php?username=ABC&password=XYZ&type=m3u_plus

Ten URL zwraca plik M3U, gdy go pobierzesz. Dostawca generuje plik w locie z wpisanymi twoimi danymi uwierzytelniającymi. Sam plik to ten sam format tekstowy opisany powyżej — po prostu dostarczony przez HTTP, a nie wysłany e-mailem jako załącznik.

Jeśli chcesz zobaczyć dokładnie, co wysyła ci dostawca, wklej URL do przeglądarki. Większość przeglądarek pokaże surowy tekst. (Jeśli zamiast wyświetlić zaczną pobierać, otwórz pobrany plik w edytorze tekstu.)

Jak sprawdzić listę przed importem

Najbardziej przydatna umiejętność, gdy jesteś nowy w IPTV: sprawdź, czy lista działa, zanim zaimportujesz ją do aplikacji. Darmowy tester list M3U na tej stronie bierze URL, pobiera plik, parsuje listę kanałów i równolegle testuje pierwsze 100 strumieni. Mówi ci, ile się rozwiązuje. Jeśli odpowiedź to „zero", twój dostawca jest zepsuty; nie marnuj czasu na odtwarzacz.

Działa to, bo format M3U jest tak prosty — możesz zweryfikować cały łańcuch w kilka sekund bez instalowania niczego.

Ekran telefonu z prośbą „Dodaj swoją listę

W praktyce import M3U to jedno wklejenie — odtwarzacz zajmie się resztą parsowania.

Dlaczego dostawcy używają M3U

Format ma ponad 25 lat i pierwotnie zaprojektowano go dla list MP3 w Winampie. Przetrwał z dwóch powodów: jest trywialny do wygenerowania (każdy backend potrafi zszyć kilka tysięcy linii #EXTINF), a każdy odtwarzacz mediów potrafi go czytać. Nie ma realnej alternatywy. Były próby — JSPF, XSPF — ale żadna się nie przyjęła.

Jeśli budujesz dziś odtwarzacz, wspierasz M3U, bo wszyscy dostarczają M3U. Jeśli jesteś dostawcą, dostarczasz M3U, bo każdy odtwarzacz to czyta. Ten format nigdzie się nie wybiera.

Edytowanie M3U na własną rękę

Ponieważ to czysty tekst, możesz edytować listę dowolnym edytorem tekstu. Typowe powody:

  • Usuń kanały, których nigdy nie obejrzysz — dostawca daje ci 5000 kanałów w 80 krajach, oglądasz tylko 200. Zapisz odchudzony plik.
  • Przekategoryzuj — zamień group-title="UK Sports" na group-title="Sport", by skonsolidować.
  • Napraw zepsute logo — zamień nieaktualne URL-e tvg-logo na działające.
  • Połącz dostawców — wklej kanały z dwóch plików M3U do jednego. Większość odtwarzaczy to przyjmie.

Edytowany plik działa tak samo jak oryginał. Zapisz go lokalnie jako moja-lista.m3u, a potem skieruj odtwarzacz na plik (nie na URL).

Czym nie jest

M3U to nie:

  • Plik wideo. To lista wskaźników do wideo.
  • Protokół. To format pliku. Strumienie, na które wskazuje, mogą używać dowolnego protokołu.
  • Sposób, by pirackie kanały działały. M3U to tylko tekst; liczy się, czy URL-e w nim działają i czy strumienie za tymi URL-ami są legalnie publikowane.

Jeśli rozumiesz „plik tekstowy z listą URL-i", rozumiesz M3U. Reszta to odtwarzacz i serwer. Szerszy obraz znajdziesz w naszym prostym przewodniku po IPTV; alternatywny format, który może oferować twój dostawca, opisuje Xtream Codes kontra M3U.