M3U8 / HLS
Apple uppfann det, alla Apple-enheter spelar det, och ingen av dem kommer att spara det.
En .m3u8-fil är en spellista, inte en video: några kilobyte text som listar tusentals små segment som ska hämtas i ordning. Den designen är anledningen till att HLS spelar felfritt på alla Apple-enheter och varför "spara den här filen" producerar ett textdokument. Att ladda ner en innebär att man hämtar varje segment och bygger om en fil som aldrig funnits.
30 juli 2026
Öppnas utan hjälp av
HLS är Apples egen specifikation och har förstklassigt stöd överallt — Safari, AVPlayer, AirPlay. Det som inte stöds någonstans i systemet är att förvandla en livestream till en fil på disk. Att spela och att spara är helt olika problem.
Fakta
| Fullständigt namn | HTTP Live Streaming; spellistan är en M3U i UTF-8 |
|---|---|
| Typ | Streamingprotokoll, levererat som en textspellista |
| Filändelser | .m3u8 (spellistan), .ts eller .m4s (segmenten den pekar på) |
| Publicerad | 2009, Apple; standardiserad som RFC 8216 år 2017 |
| Typisk segmentlängd | 2 till 10 sekunder vardera — en timmes video är hundratals till tusentals filer |
| Huvud- kontra mediaspellista | En huvudspellista listar kvalitetsnivåer; var och en av dem pekar på en mediaspellista med faktiska segment |
| Video inuti segmenten | H.264 eller HEVC, enstaka gånger AV1 |
| Livesändningar | Spellistan hämtas på nytt var några sekunder och växer allteftersom sändningen fortsätter |
En innehållsförteckning, inte en bok
Öppna en .m3u8 i en textredigerare och du hittar några dussin rader: en rubrik, några parametrar och en lång lista med adresser. Det är hela filen. Videon finns någon annanstans, uppdelad i segment på några sekunder vardera, liggande på en server som tusentals separata små filer.
Spelaren läser listan, hämtar de första segmenten, börjar spela och fortsätter hämta i förväg. När din anslutning saktar ner byter den till en variant med lägre kvalitet listad i huvudspellistan — en annan uppsättning segment, med en annan bithastighet — och gör det mellan segment så att du ser en kvalitetsändring snarare än en paus. Denna adaptiva växling är anledningen till att formatet vann.
Det förklarar också något som förvånar folk: det finns ingen enda fil att ha. Filmen du tittar på existerar inte som ett objekt någonstans. Den är tusen bitar och en uppsättning instruktioner.
Varför sparar du en textfil
Eftersom det är vad du sparade. Webbläsaren begärde adressen du gav den, tog emot fyra kilobyte spellista, och skrev dem till disk. Allt du faktiskt tittade på anlände genom tusen separata förfrågningar som spara-åtgärden inte visste något om.
Att ladda ner HLS ordentligt innebär att göra det spelaren gör, men till disk: läsa spellistan, välja en kvalitetsvariant, hämta varje segment i ordning, och sedan foga ihop dem till en behållare. Det sista steget kallas remuxning — videon och ljudet kodas inte om, utan skrivs bara om till en enda MP4 med ett riktigt index så att resultatet kan spolas.
Två saker gör det här svårare än det låter. Segmentadresser är ofta relativa och ändras per session, så en lista hämtad för en timme sedan kan vara död. Och strömmar är ofta krypterade med en nyckel som refereras i spellistan, levereras separat och roteras under uppspelning.
Att få en till en enhet
Endast för strömmar du har rätt att behålla - din egen inspelning, ditt eget IPTV-abonnemang, en sändare som erbjuder en nedladdning. Vad som följer är hur mekanismen fungerar, inte tillåtelse att peka den någonstans.
- Låt en nedladdningsmotor hantera segmenten
Att hämta tusen filer och remixa dem är precis det jobb som FoxDL:s nedladdare gör med en HLS-källa: den går igenom spellistan, drar segmenten parallellt och skriver en MP4 som skrubbar som en vanlig fil. Det som kommer är en fil, inte en mapp med bitar.
- Ta direktfilen när en sådan finns
Många webbplatser serverar både HLS och en vanlig progressiv MP4. MP4 är en begäran, en fil och ingen ombyggnad - alltid det bättre alternativet när det erbjuds.
- Acceptera att vissa inte kan behållas
Strömmar skyddade med DRM - FairPlay, Widevine - är krypterade från början till slut och kan inte laddas ner, per design. Inget verktyg ändrar på det, och den som påstår motsatsen ljuger om något.
Där HLS-nedladdningar går fel
Segment sammanlänkade utan remixning ger en spelbar fil utan index. Den spelar från start och hoppar ingenstans. Remuxing skriver indexet som fixar det.
En livespellista har inget slut – den fortsätter att växa. Att ladda ner en är inspelning och den stoppas när du stoppar den, inte när filen slutar.
Spellistadresser är vanligtvis signerade och tidsbegränsade. En .m3u8 sparad i morse pekar ofta på ingenting på eftermiddagen.
Frågor om det här formatet
Var dessa fakta kommer ifrån
- RFC 8216 — HTTP Live Streaming IETF
- HTTP Live Streaming Apple Developer
Närliggande format
Ditt bibliotek, äntligen på ett ställe.
Gratis att ladda ner. Inget konto, ingen registrering, inget att lämna ifrån dig.