Strumień Transmisja na żywo HTTP

M3U8/HLS

Apple to wymyśliło, każde urządzenie Apple to odtwarza i żadne z nich tego nie zapisze.

W skrócie

Plik .m3u8 to playlista, a nie wideo: kilka kilobajtów tekstu zawierającego listę tysięcy małych segmentów do pobrania w odpowiedniej kolejności. Dzięki temu rozwiązaniu HLS działa bezbłędnie na każdym urządzeniu Apple i dlatego polecenie „zapisz ten plik” powoduje utworzenie dokumentu tekstowego. Pobranie jednego oznacza pobranie każdego segmentu i odbudowanie pliku, który nigdy nie istniał.

30 lipca 2026

Otwierane bez pomocy przez

iPhone · iPad Otwiera
Mac Otwiera
FoxDL Otwiera

HLS jest własną specyfikacją Apple i zapewnia pierwszorzędne wsparcie wszędzie – Safari, AVPlayer, AirPlay. To, co nie jest obsługiwane nigdzie w systemie, to przekształcanie transmisji na żywo w plik na dysku. Gra i utrzymanie to zupełnie inne problemy.

Fakty

Pełna nazwa HTTP Live Streaming; playlista to plik M3U w UTF-8
Rodzaj Protokół strumieniowania, dostarczany jako tekstowa playlista
Rozszerzenia .m3u8 (playlista), .ts lub .m4s (segmenty, na które wskazuje)
Opublikowany 2009, Apple; ustandaryzowany jako RFC 8216 w 2017
Typowa długość segmentu Od 2 do 10 sekund każdy — godzina wideo to od setek do tysięcy plików
Manifest główny a medialny Główny wymienia poziomy jakości; każdy z nich wskazuje na manifest medialny z rzeczywistymi segmentami
Wideo wewnątrz segmentów H.264 lub HEVC, sporadycznie AV1
Transmisje na żywo Playlista jest pobierana ponownie co kilka sekund i rośnie wraz z trwaniem nadawania

Spis treści, nie książka

Otwórz plik .m3u8 w edytorze tekstu, a znajdziesz kilkanaście linii: nagłówek, kilka parametrów i długą listę adresów. To cały plik. Wideo mieszka gdzie indziej, pocięte na kilkusekundowe segmenty, leżące na serwerze jako tysiące osobnych, małych plików.

Odtwarzacz czyta listę, pobiera pierwsze kilka segmentów, zaczyna odtwarzanie i cały czas pobiera z wyprzedzeniem. Gdy Twoje połączenie zwalnia, przełącza się na wariant niższej jakości wymieniony w manifeście głównym — inny zestaw segmentów, przy innej przepływności — i robi to między segmentami, więc widzisz zmianę jakości, a nie pauzę. To adaptacyjne przełączanie jest powodem, dla którego ten format wygrał.

Tłumaczy to też coś, co zaskakuje ludzi: nie ma jednego pliku do posiadania. Film, który oglądasz, nigdzie nie istnieje jako pojedynczy obiekt. To tysiąc kawałków i zestaw instrukcji.

Dlaczego zapisanie go daje plik tekstowy

Bo dokładnie to zapisałeś. Przeglądarka poprosiła o podany przez Ciebie adres, otrzymała cztery kilobajty playlisty i zapisała je na dysku. Wszystko, co faktycznie oglądałeś, dotarło przez tysiąc osobnych żądań, o których operacja zapisu nic nie wiedziała.

Poprawne pobranie HLS oznacza zrobienie tego, co robi odtwarzacz, ale na dysk: przeczytać playlistę, wybrać wariant jakości, pobrać każdy segment po kolei, a potem zszyć je w jeden kontener. Ten ostatni krok to remultipleksowanie — wideo i audio nie są kodowane na nowo, tylko zapisywane od nowa do jednego pliku MP4 z właściwym indeksem, dzięki czemu wynik da się przewijać.

Dwie rzeczy sprawiają, że to trudniejsze, niż brzmi. Adresy segmentów są często względne i zmieniają się z sesji na sesję, więc lista pobrana godzinę temu może być już martwa. A strumienie są często szyfrowane kluczem, do którego odniesienie znajduje się w playliście, dostarczanym osobno i rotowanym w trakcie odtwarzania.

Pobieranie jednego na urządzenie

Zawsze tylko w przypadku transmisji strumieniowych, które masz prawo zachować — własne nagranie, własną subskrypcję IPTV, nadawcę oferującego pobieranie. Poniżej przedstawiono działanie mechanizmu, a nie pozwolenie na wskazanie go w dowolnym miejscu.

  1. Niech silnik pobierania obsłuży segmenty

    Pobieranie tysiąca plików i ponowne ich remuxowanie to dokładnie to samo zadanie, jakie downloader FoxDL wykonuje w przypadku źródła HLS: przegląda listę odtwarzania, ciągnie segmenty równolegle i zapisuje jeden plik MP4, który przewija jak normalny plik. To, co przychodzi, to plik, a nie folder z fragmentami.

  2. Weź plik bezpośredni, jeśli taki istnieje

    Wiele witryn obsługuje zarówno HLS, jak i zwykły progresywny MP4. MP4 to jedno żądanie, jeden plik i brak konieczności przebudowy — zawsze jest lepszą opcją, jeśli jest w ofercie.

  3. Zaakceptuj fakt, że niektórych nie da się zachować

    Strumienie chronione systemem DRM — FairPlay, Widevine — są szyfrowane od początku do końca i z założenia nie można ich pobrać. Żadne narzędzie tego nie zmieni, a takie, które twierdzi inaczej, kłamie w jakiejś sprawie.

Gdzie pobieranie HLS kończy się niepowodzeniem

Plik bez paska wyszukiwania

Segmenty połączone bez remuxowania tworzą odtwarzalny plik bez indeksu. Gra od początku i nigdzie nie przeskakuje. Remuxing zapisuje indeks, który to naprawia.

Transmisja na żywo, która nigdy się nie kończy

Playlista na żywo nie ma końca — ciągle rośnie. Pobieranie jest nagrywaniem i kończy się w momencie zatrzymania, a nie w momencie zakończenia pliku.

Link, który wczoraj działał

Adresy list odtwarzania są zwykle podpisane i ograniczone czasowo. Plik .m3u8 zapisany dziś rano często po południu nie wskazuje na nic.

Pełna wersja Co robi menedżer pobierania, czego nie zrobi przeglądarka internetowa Dlaczego transfery zatrzymują się przy przełączeniu aplikacji, czego naprawdę wymaga wznawianie i jak strumienie stają się plikami.

Pytania o ten format

Skąd wiemy to, co wiemy

Pokrewne formaty

Twoja biblioteka, wreszcie w jednym miejscu.

Bezpłatne pobranie. Bez konta, bez rejestracji, bez niczego do oddania.

Pobierz w App Store