Hva er en M3U-fil?
M3U (MP3 URL) er en lydspillelistefil som er lagret med filtypen .m3u. M3U er ikke en faktisk lydfil, den peker bare på lyd- og noen ganger videofiler. M3U ble utviklet for å brukes med Winplay3-programvare av Fraunhofer. Den støttes også av ulike mediespillere og programvare.
M3U-filformat
Det er ingen offisiell spesifikasjon for M3U-filformatet, det er en de-facto standard. M3U er en ren tekstfil som bruker filtypen .m3u hvis teksten er kodet i det lokale systemets standard ikke-Unicode-koding eller med filtypen .m3u8 hvis teksten er UTF-8-kodet. Hver oppføring i M3U-filen kan være en av følgende:
- Absolutt bane til filen
- Filbane i forhold til M3U-filen.
- URL
Utvidet M3U
I den utvidede M3U introduseres tilleggsdirektiver som begynner med “#” og slutter med kolon(:) hvis de har parametere. Nedenfor er en liste over direktiver for utvidet M3U.
- #EXTM3U - Det er filoverskriften som indikerer Extended M3U og må være første linje i filen.
- #EXTENC: - Tekstkoding. Det må være den andre linjen i filen.
- #EXTINF: - Brukes for sporinformasjon og andre tilleggsegenskaper.
- #PLAYLIST: - Tittelen på spillelisten
- #EXTGRP: - Begynn navnegruppering
- #EXTALB: - Albuminformasjon
- #EXTART: - Albumartist
- #EXTGENRE - Albumsjanger
- #EXTM3A - Enkeltfilspilleliste for albumspor eller kapitler.
- #EXTBYT: - Filstørrelse i byte.
- #EXTBIN: - Binære data følger.
- #EXTIMG: - Logo, omslag eller andre bilder.
HLS M3U
HLS (HTTP Live Streaming) ble laget av Apple for å streame lyd og radio til iOS-enheter. Den er basert på den UTF-8-kodede utvidede M3U. Den ble standardisert som RFC 8216 i 2017 av IETF. Taggene for HLS-spillelisten begynner med “#EXT-X-”. Nedenfor er en liste over tagger for HLS
- EXT-X-VERSJON - Indikerer kompatibilitetsversjonen av filen basert på mediet og dens server.
- #EXT-X-START: - Indikerer det foretrukne startpunktet for spillelisten.
- #EXT-X-PLAYLIST-TYPE: - Gir typen spilleliste (EVENT eller VOD).
- #EXT-X-MÅLVARIGHET: - Den spesifiserer maksimal segmentvarighet.
- #EXT-X-MEDIA-SEQUENCE: - Det indikerer mediesekvensnummeret.
- #EXT-X-INDEPENDENT-SEGMENTS - Det indikerer at alle medieeksempler er uavhengige og kan dekodes uten andre segmenter.
- #EXT-X-MEDIA: - Den brukes til å relatere mediespillelister som inneholder alternative gjengivelser av samme innhold.
- #EXT-X-STREAM-INF: - Den spesifiserer en variantstrøm som er en del av gjengivelsene.
- #EXT-X-BYTERANGE: - Indikerer at mediesegmentet er et underområde av ressursen identifisert av dens URI.
- #EXT-X-DISCONTINUITY - Indikerer diskontinuitet mellom de foregående og følgende mediesegmentene.
- #EXT-X-DISCONTINUITY-SEQUENCE: - Den tillater synkronisering mellom forskjellige gjengivelser av samme Variant Stream eller forskjellige Variant Streams.
- #EXT-X-KEY: - Spesifiserer hvordan mediesegmenter skal dekrypteres.
- #EXT-X-MAP: - Spesifiserer hvordan du får tak i Media Initialization Section. Det er nødvendig å analysere de aktuelle mediesegmentene.
- #EXT-X-PROGRAM-DATE-TIME: - Den knytter den første prøven av mediesegmentet til en absolutt dato og/eller klokkeslett.
- #EXT-X-DATERANGE: - Den knytter til et dataområde.
- #EXT-X-I-FRAMES-ONLY - Indikerer at hvert mediesegment i spillelisten beskriver en enkelt I-frame.
- EXT-X-I-FRAME-STREAM-INF - Det indikerer at spillelistefilen inneholder I-rammer av multimediapresentasjon.
- #EXT-X-SESSION-DATA: - Den lar vilkårlige øktdata ført i en hovedspilleliste.
- #EXT-X-SESSION-KEY: - Den tillater krypteringsnøkler. Klienten kan forhåndslaste disse nøklene uten å lese spillelisten først.
- #EXT-X-ENDLIST - Det indikerer at ingen flere mediesegmenter vil bli lagt til filen.
Følgende er listen over Internett-medietyper som brukes av M3U:
- application/vnd.apple.mpegurl: Det er den eneste registrerte medietypen (registrert i 2009) for M3U som brukes til å referere til spillelistene i HLS-applikasjoner.
- Følgende Internett-medietyper brukes av ikke-HLS-applikasjoner.
- application/mpegurl
- application/x-mpegurl
- audio/mpegurl
- audio/x-mpegurl
M3U Eksempel
Dette er et eksempel på M3U-filen.
#EXTM3U
#EXTINF:111, Sample artist name - Sample track title
C:\Music\SampleMusic.mp3
#EXTINF:222,Example Artist name - Example track title
C:\Music\ExampleMusic.mp3