Wat is het M3U8-bestandsformaat?
Bestanden met de extensie .m3u8 zijn UTF-8 gecodeerde multimedia-afspeellijsten. Dit zijn standaard tekstbestanden - ze bevatten geen echte audio- of videogegevens, maar alleen verwijzingen naar multimediabestanden of submappen waarin deze zijn opgeslagen. Naast de verwijzingen bevatten ze ook informatie over de afspeellijst via commentaarregels die beginnen met #. Elke uitgebreide afspeellijst moet beginnen met de header-tag #EXTM3U op de eerste regel.
Verwijzingen naar multimedia in .m3u8-bestanden kunnen in drie vormen voorkomen: als een relatief pad, een absoluut pad of een URL-adres.
HLS-streaming. Tegenwoordig worden .m3u8-bestanden het meest gebruikt als HTTP Live Streaming (HLS) manifesten - een technologie die in 2009 door Apple werd geïntroduceerd en later is gestandaardiseerd als RFC 8216. In deze rol beschrijft het bestand waar korte .ts videosegmenten (meestal 2-10 seconden elk) kunnen worden opgehaald en, in een master-afspeellijst, welke kwaliteitsvarianten beschikbaar zijn. HLS-specifieke instructies gebruiken het #EXT-X- voorvoegsel - bijvoorbeeld #EXT-X-STREAM-INF declareert een variant-bitrate, en #EXT-X-ENDLIST geeft aan dat een stream voltooid is.
.m3u8-bestanden komen veel voor bij streamingdiensten, IPTV-spelers en internetradiostations. Ze worden ook gebruikt om afspeellijsten met meertalige namen van nummers op te slaan, omdat de UTF-8 standaard voor symboolcodering ervoor zorgt dat niet-ASCII-tekens correct worden weergegeven.
.m3u8 en .m3u zijn formaten die erg op elkaar lijken - het zijn afspeellijstbestanden die door meerdere multimediaspelers worden herkend. Het enige dat hen onderscheidt is de garantie van codering: .m3u8 is expliciet UTF-8, terwijl .m3u-bestanden elke 8-bits codering kunnen gebruiken, afhankelijk van de systeeminstellingen, wat ertoe kan leiden dat titels met accenten of niet-Latijnse tekens onjuist worden weergegeven.
Beveiliging & veiligheid
RISICO: LOWHet .m3u8-bestand zelf is onschadelijke platte tekst. Twee praktische waarschuwingen: (1) het kan verwijzen naar externe URL's, dus een kwaadaardige afspeellijst kan een speler naar ongewenste inhoud leiden - inspecteer onbekende afspeellijsten eerst in een tekstverwerker. (2) Het opslaan van gestreamde video via m3u8 kan in strijd zijn met de voorwaarden of het auteursrecht van een site; download alleen streams waar u recht op heeft. Vermijd dubieuze „m3u8 downloader”-websites die advertenties/PUP pushen - gebruik rechtstreeks yt-dlp of ffmpeg.
Formaatdetails
in een notendopProgramma's die M3U8-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte UTF-8 tekst; leesbaar en bewerkbaar in elke tekstverwerker zonder speciale software |
| MIME-typen | `application/vnd.apple.mpegurl` (HLS); `audio/x-mpegurl` (verouderde lokale afspeellijst) |
| Magic header | `#EXTM3U` moet op de allereerste regel van elke uitgebreide `.m3u8`-afspeellijst staan |
| Tekstcodering | Strikt UTF-8; de `8` in de extensie geeft dit expliciet aan, wat niet-ASCII tracktitels en bestandspaden mogelijk maakt |
| Referentietypen | Relatieve bestandspaden, absolute bestandspaden en volledige HTTP/HTTPS/RTSP URL's |
| HLS-segmentformaat | MPEG-2 Transport Stream (`.ts`) of gefragmenteerde MP4 (`.fmp4`) bestanden die opeenvolgend door de speler worden opgehaald |
| HLS-instructie voorvoegsel | `#EXT-X-` tags regelen het gedrag van de stream - bijv. `#EXT-X-TARGETDURATION`, `#EXT-X-STREAM-INF`, `#EXT-X-ENDLIST` |
| Segmentduur | Meestal 2-10 seconden per segment, gedeclareerd door `#EXTINF` per item en begrensd door `#EXT-X-TARGETDURATION` |
| Adaptieve bitrate | Een master `.m3u8` bevat sub-afspeellijsten met verschillende bitrates en resoluties via `#EXT-X-STREAM-INF` |
| Versleuteling | AES-128 versleuteling per segment gedeclareerd met `#EXT-X-KEY`; ondersteunt levering via een op URI gebaseerde sleutelserver |
| DRM-integratie | Compatibel met Apple FairPlay, Google Widevine en Microsoft PlayReady via `#EXT-X-SESSION-KEY` |
| Live vs. VOD | Live-streams laten `#EXT-X-ENDLIST` weg; voltooide VOD-afspeellijsten eindigen hiermee zodat de speler weet dat de stream is afgelopen |
| Ondertiteling en tekstsporen | WebVTT- of TTML-sporen waarnaar wordt verwezen via `#EXT-X-MEDIA TYPE=SUBTITLES` of `TYPE=CLOSED-CAPTIONS` |
| Commentaarsyntaxis | Elke regel die begint met `#` en geen erkende tag is, wordt behandeld als commentaar; gebruikt voor metadata zoals artiest en titel |
| Uitgebracht | M3U from Winamp (late 1990s); m3u8 = UTF-8 M3U; HLS use of m3u8 since 2009 (Apple), RFC 8216 in 2017 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | datatracker.ietf.org |