Stream HTTP Live Streaming

M3U8 / HLS

Apple to vymyslel, hraje to každé Apple zařízení a žádné to nezachrání.

Ve zkratce

Soubor .m3u8 je seznam skladeb, nikoli video: několik kilobajtů textu se seznamem tisíců malých segmentů, které mají být postupně načteny. Tento design je důvodem, proč HLS hraje bezchybně na každém zařízení Apple a proč „uložit tento soubor“ vytvoří textový dokument. Stažení jednoho znamená načtení každého segmentu a znovu sestavení souboru, který nikdy neexistoval.

30. července 2026

Bez pomoci otevřou

iPhone · iPad Otevře
Mac Otevře
FoxDL Otevře

HLS je vlastní specifikace společnosti Apple a má prvotřídní podporu všude – Safari, AVPlayer, AirPlay. Co není nikde v systému podporováno, je přeměna živého streamu na soubor na disku. Hraní a udržení jsou úplně jiné problémy.

Fakta

Celý název HTTP Live Streaming; playlist je M3U v UTF-8
Typ Streamovací protokol, doručovaný jako textový playlist
Přípony .m3u8 (playlist), .ts nebo .m4s (segmenty, na které odkazuje)
Vydáno 2009, Apple; standardizováno jako RFC 8216 v roce 2017
Typická délka segmentu 2 až 10 sekund každý — hodina videa je stovky až tisíce souborů
Hlavní vs mediální playlist Hlavní vyjmenovává úrovně kvality; každá z nich odkazuje na mediální playlist se skutečnými segmenty
Video uvnitř segmentů H.264 nebo HEVC, občas AV1
Živé přenosy Playlist se znovu stahuje každých pár sekund a roste, jak vysílání pokračuje

Obsah, ne kniha

Otevři .m3u8 v textovém editoru a najdeš pár desítek řádků: hlavičku, pár parametrů a dlouhý seznam adres. To je celý soubor. Video žije jinde, rozstříhané na segmenty po pár sekundách, ležící na serveru jako tisíce samostatných malých souborů.

Přehrávač čte seznam, stáhne prvních pár segmentů, začne přehrávat a pořád stahuje dopředu. Když se tvoje připojení zpomalí, přepne na variantu s nižší kvalitou uvedenou v hlavním playlistu — jinou sadu segmentů, s jinou bitovou rychlostí — a udělá to mezi segmenty, takže vidíš změnu kvality místo pauzy. Tohle adaptivní přepínání je důvod, proč tenhle formát vyhrál.

Vysvětluje to taky něco, co lidi překvapí: neexistuje jediný soubor, který bys mohl mít. Film, na který se díváš, nikde neexistuje jako jeden objekt. Je to tisíc kousků a sada instrukcí.

Proč jeho uložením získáš textový soubor

Protože přesně tohle jsi uložil. Prohlížeč požádal o adresu, kterou jsi mu dal, dostal čtyři kilobajty playlistu a zapsal je na disk. Všechno, co jsi doopravdy sledoval, dorazilo přes tisíc samostatných požadavků, o kterých operace uložení nic nevěděla.

Stáhnout HLS pořádně znamená dělat to, co dělá přehrávač, ale na disk: přečíst playlist, vybrat variantu kvality, stáhnout každý segment v pořadí a pak je sešít do jednoho kontejneru. Tenhle poslední krok se nazývá remux — video a zvuk se znovu nekódují, jen se přepíšou do jednoho MP4 se správným indexem, aby se výsledkem dalo posouvat.

Dvě věci to komplikují víc, než to zní. Adresy segmentů jsou často relativní a mění se podle relace, takže seznam stažený před hodinou může být mrtvý. A streamy jsou často šifrované klíčem uvedeným v playlistu, doručovaným zvlášť a měněným během přehrávání.

Jak dostat jeden na zařízení

Vždy máš právo ponechat si jen streamy, které jsou tvoje — vlastní záznam, vlastní IPTV předplatné, vysílací společnost, která nabízí stahování. Následuje, jak mechanismus funguje, ne povolení namířit ho kamkoli.

  1. Nech stahovací modul zpracovat segmenty

    Stažení tisíce souborů a jejich remux je přesně ta práce, kterou dělá stahovač FoxDL u zdroje HLS: projde playlist, stáhne segmenty paralelně a zapíše jeden MP4, kterým se dá normálně posouvat. To, co dostaneš, je soubor, ne složka kousků.

  2. Vezmi přímý soubor, pokud existuje

    Spousta stránek nabízí jak HLS, tak obyčejné progresivní MP4. MP4 je jeden požadavek, jeden soubor a žádné skládání — vždy lepší volba, pokud je v nabídce.

  3. Smiř se s tím, že některé zachovat nejde

    Streamy chráněné DRM — FairPlay, Widevine — jsou šifrované od začátku do konce a z návrhu se nedají stáhnout. Žádný nástroj to nezmění a ten, co tvrdí opak, o něčem lže.

Kde se pokazí stahování HLS

Soubor bez vyhledávací lišty

Segmenty zřetězené bez remuxování vytvoří hratelný soubor bez indexu. Hraje od začátku a nikam neskáče. Remuxing zapíše index, který to opraví.

Živý přenos, který nikdy nekončí

Živý seznam skladeb nemá konce – neustále roste. Stahování jednoho je nahrávání a zastaví se, když ho zastavíte, ne když skončí soubor.

Odkaz, který fungoval včera

Adresy playlistů jsou obvykle podepsané a časově omezené. .m3u8 uložený dnes ráno často odpoledne ukazuje na nic.

Podrobná verze Co dělá správce stahování, co webový prohlížeč neumí Proč se přenosy zastaví při přepnutí aplikace, co skutečně vyžaduje obnovení, a jak se ze streamů stanou soubory.

Otázky k tomuto formátu

Odkud tato fakta pochází

Podobné formáty

Tvá knihovna, konečně na jednom místě.

Zdarma ke stažení. Žádný účet, žádná registrace, nic k odevzdání.

Stáhnout na App Store