M3U8 / HLS
Apple oppfant den, hver Apple-enhet spiller den, og ingen av dem vil lagre den.
En .m3u8-fil er en spilleliste, ikke en video: noen kilobyte tekst som lister opp tusenvis av små segmenter som skal hentes i rekkefølge. Det designet er hvorfor HLS spiller feilfritt på hver Apple-enhet og hvorfor «lagre denne filen» produserer et tekstdokument. Å laste en ned betyr å hente hvert segment og bygge en fil som aldri eksisterte.
30. juli 2026
Åpnet uten hjelp av
HLS er Apples egen spesifikasjon og har førsteklasses støtte overalt — Safari, AVPlayer, AirPlay. Det som ikke er støttet noe sted i systemet er å gjøre en direktestrøm om til en fil på disken. Å spille og å beholde er helt ulike problemer.
Faktaene
| Fullt navn | HTTP Live Streaming; spillelisten er en M3U i UTF-8 |
|---|---|
| Type | Strømmeprotokoll, levert som en tekstspilleliste |
| Filtyper | .m3u8 (spillelisten), .ts eller .m4s (segmentene den peker på) |
| Publisert | 2009, Apple; standardisert som RFC 8216 i 2017 |
| Typisk segmentlengde | 2 til 10 sekunder hver — en times video er hundrevis til tusenvis av filer |
| Master versus mediaspilleliste | En master lister kvalitetsnivåer; hvert av dem peker på en mediaspilleliste med faktiske segmenter |
| Video inni segmentene | H.264 eller HEVC, av og til AV1 |
| Direktestrømmer | Spillelisten hentes på nytt hvert par sekunder og vokser etter hvert som sendingen fortsetter |
En innholdsfortegnelse, ikke en bok
Åpne en .m3u8 i en teksteditor og du finner noen titalls linjer: en header, noen parametere, og en lang liste med adresser. Det er hele filen. Videoen lever et annet sted, kuttet i segmenter på noen sekunder hver, liggende på en server som tusenvis av separate små filer.
Spilleren leser listen, henter de første få segmentene, begynner å spille, og fortsetter å hente forut for seg selv. Når forbindelsen din blir treg, bytter den til en lavere-kvalitets-variant listet i masterspillelisten — et annet sett med segmenter, ved en annen bitrate — og gjør det mellom segmenter slik at du ser en kvalitetsendring heller enn en pause. Denne adaptive byttingen er grunnen til at formatet vant.
Det forklarer også noe som overrasker folk: det finnes ingen enkelt fil å ha. Filmen du ser på eksisterer ikke som et objekt noe sted. Det er tusen biter og et sett med instruksjoner.
Hvorfor å lagre den gir deg en tekstfil
Fordi det er hva du lagret. Nettleseren spurte etter adressen du ga den, mottok fire kilobyte spilleliste, og skrev dem til disk. Alt du faktisk så på ankom gjennom tusen separate forespørsler som lagringsoperasjonen ikke visste noe om.
Å laste ned HLS ordentlig betyr å gjøre det spilleren gjør, men til disk: lese spillelisten, velge en kvalitetsvariant, hente hvert segment i rekkefølge, og deretter sy dem sammen til én container. Det siste trinnet kalles remuksing — video og lyd kodes ikke om, bare skrives om til én MP4 med en ordentlig indeks slik at resultatet kan skrubbes.
To ting gjør dette vanskeligere enn det høres ut. Segmentadresser er ofte relative og endres per økt, så en liste hentet for en time siden kan være død. Og strømmer er ofte krypterte med en nøkkel referert i spillelisten, levert separat, og rotert under avspilling.
Å få en over på en enhet
Bare noensinne for strømmer du har rett til å beholde — ditt eget opptak, ditt eget IPTV-abonnement, en kringkaster som tilbyr en nedlasting. Det som følger er hvordan mekanismen fungerer, ikke tillatelse til å rette den mot hva som helst.
- La en nedlastingsmotor håndtere segmentene
Å hente tusen filer og remukse dem er nøyaktig jobben FoxDLs nedlaster gjør med en HLS-kilde: den går gjennom spillelisten, henter segmentene parallelt, og skriver én MP4 som skrubber som en normal fil. Det som ankommer er en fil, ikke en mappe med biter.
- Ta den direkte filen når en finnes
Mange nettsteder serverer både HLS og en vanlig progressiv MP4. MP4-en er én forespørsel, én fil og ingen gjenoppbygging — alltid det bedre alternativet når det tilbys.
- Godta at noen ikke kan beholdes
Strømmer beskyttet med DRM — FairPlay, Widevine — er kryptert ende til ende og er ikke nedlastbare med hensikt. Ingen verktøy endrer det, og et som hevder det lyver om noe.
Hvor HLS-nedlastinger går galt
Segmenter satt sammen uten remuksing produserer en spillbar fil uten indeks. Den spiller fra starten og hopper ingen steder. Remuksing skriver indeksen som fikser det.
En direkte spilleliste har ingen slutt — den fortsetter å vokse. Å laste en ned er å ta opp, og det stopper når du stopper det, ikke når filen tar slutt.
Spillelisteadresser er vanligvis signerte og tidsbegrensede. En .m3u8 lagret i morges peker ofte på ingenting innen ettermiddagen.
Spørsmål om dette formatet
Hvor disse faktaene kommer fra
- RFC 8216 — HTTP Live Streaming IETF
- HTTP Live Streaming Apple Developer
Nærliggende formater
Biblioteket ditt, endelig på ett sted.
Gratis å laste ned. Ingen konto, ingen registrering, ingenting å levere fra deg.