M3U
Een tekstbestand zonder video erin — en dat wat een IPTV-abonnement echt is.
Een M3U is een platte-tekstlijst van media-adressen met namen. Hij bevat noch audio noch video. Als een IPTV-provider je een abonnement verkoopt, krijg je een link naar precies zo’n lijst — kanaalnamen, logo’s, groepen en streamadressen die een app tot zenderoverzicht maakt.
30 juli 2026
Zonder hulp geopend door
Niets in iOS of macOS leest een M3U als playlist. Tikken toont een tekstmuur. Het is geen mediaformaat, en geen systeem zou het ooit zo behandelen — het heeft een app nodig die begrijpt *waarvoor* de lijst er is.
De feiten
| Volledige naam | MP3 URL, of Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator |
|---|---|
| Soort | Playlist — een lijst adressen, geen medium |
| Extensies | .m3u (willekeurige tekstcodering), .m3u8 (UTF-8) |
| Gepubliceerd | Eind jaren 90, door Fraunhofer voor Winamp; nooit formeel gestandaardiseerd |
| Opbouw | Een #EXTINF-regel benoemt elk item, gevolgd door zijn adres |
| IPTV-uitbreidingen | tvg-id, tvg-name, tvg-logo, group-title — per conventie, niet per specificatie |
| Waarnaar de adressen wijzen | Meestal HLS-playlists of MPEG-TS-streams; soms gewone bestanden |
| Typische providergrootte | Een paar honderd KB tot ver over 200 MB bij lijsten met honderdduizenden kanalen |
Een lijst van namen en adressen
Het formaat is zo eenvoudig als een formaat maar kan zijn. Elk item heeft twee regels: een met #EXTINF die de zaak benoemt, en een met het adres. Al het andere — logo’s, kanaalnummers, groepen die in de app categorieën worden — kwam later als attributen die mensen op de #EXTINF-regel zetten. Geen normcommissie heeft dat ooit geratificeerd.
Die informaliteit verklaart waarom M3U-bestanden zo verschillen. De ene provider schrijft group-title="Sports", een andere group-title="SPOR", een derde laat het weg en verwacht dat de app raadt. Een app die IPTV goed kan, is vooral een die veel slecht geschreven M3U-bestanden heeft gezien.
De verwarring met M3U8 is de moeite waard om op te helderen: de 8 betekent UTF-8-tekstcodering, verder niets. Elke HLS-playlist is een M3U8, maar niet elke M3U8 is HLS — een als UTF-8 opgeslagen IPTV-kanaallijst is ook een .m3u8 en heeft niets met gesegmenteerde streaming te maken.
Waarom de grootte het hele probleem is
Providerlijsten zijn gegroeid zoals het formaat nooit heeft gepland. Een bestand met een paar honderd regels in 2010 is bij een grote provider vandaag honderdduizenden items en honderden megabytes tekst.
De naïeve manier — bestand in het geheugen laden, parsen, resultaat vasthouden — breekt lang daarvoor. Een 200-MB-lijst zo lezen betekent een geheugenpiek die een iPhone niet duldt, en iOS beëindigt de app in plaats van te wachten. Daarom crashen zo veel IPTV-apps bij grote providers gewoon.
De manier die werkt: de lijst nooit volledig vasthouden. Stuksgewijs van schijf lezen, elk kanaal direct naar een database schrijven en het scherm daaruit pagina voor pagina vullen. FoxDL is gemeten op een 485-MB-lijst met twee miljoen kanalen — 123 seconden import, 9 MB extra geheugen, 4 milliseconden voor de eerste pagina, 400 milliseconden zoeken over de hele lijst. De cijfers zijn alleen interessant omdat de naïeve aanpak ze überhaupt niet kan leveren.
Zo gebruik je er eentje
- Als URL toevoegen, niet als bestand
Providers werken hun lijsten bij — kanalen verhuizen, adressen roteren. Een app met de URL kan vernieuwen; een met een eenmaal gedownloade kopie is verouderd zodra iets verandert.
- Verwacht chaos bij de groepen en gebruik zoeken
Categorienamen komen van de provider en volgen geen conventie. Op een grote lijst is zoeken sneller dan navigeren — mits de app de database doorzoekt en niet een geladen array.
- De lijst is niet de inhoud
Een M3U zijn adressen. Of die adressen legaal te bekijken zijn, is een vraag aan de provider — niet aan het bestand of de app. Geen app levert kanalen mee, en geen kan instaan voor een lijst die jij zelf invoegt.
Vragen over dit format
Waar deze feiten vandaan komen
Verwante formaten
Je bibliotheek, eindelijk op één plek.
Gratis te downloaden. Geen account, geen aanmelding, niets om af te geven.