Che cos'è il formato di file M3U8?
I file con estensione .m3u8 sono playlist multimediali codificate in UTF-8. Si tratta di file di testo standard - non contengono dati audio o video reali, ma solo riferimenti a file multimediali o sottocartelle che li ospitano. Oltre ai riferimenti, includono anche informazioni sulla playlist tramite righe di commento che iniziano con #. Ogni playlist estesa deve iniziare con il tag di intestazione #EXTM3U nella sua prima riga.
I riferimenti ai contenuti multimediali contenuti nei file .m3u8 possono presentarsi in tre forme: come percorso relativo, percorso assoluto o indirizzo URL.
Streaming HLS. Oggi i file .m3u8 sono ampiamente utilizzati come manifesti HTTP Live Streaming (HLS) - una tecnologia introdotta da Apple nel 2009 e successivamente standardizzata come RFC 8216. In questo ruolo, il file descrive dove recuperare brevi segmenti video .ts (in genere di 2-10 secondi ciascuno) e, in una playlist master, quali varianti di qualità sono disponibili. Le direttive specifiche per HLS utilizzano il prefisso #EXT-X- - ad esempio #EXT-X-STREAM-INF dichiara un bitrate variante, e #EXT-X-ENDLIST segnala che uno stream è completo.
I file .m3u8 si incontrano comunemente nei servizi di streaming, nei lettori IPTV e nelle stazioni radio Internet. Vengono utilizzati anche per memorizzare playlist che includono nomi di canzoni multilingue, poiché lo standard di codifica dei simboli UTF-8 garantisce che i caratteri non ASCII vengano visualizzati correttamente.
.m3u8 e .m3u sono formati molto simili tra loro - sono file di playlist riconosciuti da molteplici lettori multimediali. L'unica cosa che li differenzia è la garanzia di codifica: .m3u8 è esplicitamente UTF-8, mentre i file .m3u possono utilizzare qualsiasi codifica a 8 bit a seconda delle impostazioni locali del sistema, il che può causare la visualizzazione errata di titoli con caratteri accentati o non latini.
Sicurezza e incolumità
RISCHIO: LOWIl file .m3u8 in sé è testo semplice innocuo. Due precauzioni pratiche: (1) può puntare a URL remoti, quindi una playlist malevola potrebbe indirizzare un lettore verso contenuti indesiderati - ispeziona prima le playlist sconosciute in un editor di testo. (2) Salvare video in streaming tramite m3u8 potrebbe violare i termini di un sito o il copyright; scarica solo gli stream a cui hai diritto. Evita siti web sospetti di «m3u8 downloader» che propongono pubblicità/PUP - usa direttamente yt-dlp o ffmpeg.
Dettagli del formato
in sintesiProgrammi che aprono file M3U8
Dettagli tecnici
specifiche approfondite| Tipo di file | Testo semplice UTF-8; leggibile e modificabile in qualsiasi editor di testo senza software speciali |
| Tipi MIME | `application/vnd.apple.mpegurl` (HLS); `audio/x-mpegurl` (playlist locale legacy) |
| Intestazione magica | `#EXTM3U` deve apparire nella primissima riga di ogni playlist `.m3u8` estesa |
| Codifica dei caratteri | Rigorosamente UTF-8; l' `8` nell'estensione lo segnala esplicitamente, consentendo titoli di tracce e percorsi di file non ASCII |
| Tipi di riferimento | Percorsi file relativi, percorsi file assoluti e URL completi HTTP/HTTPS/RTSP |
| Formato segmento HLS | File MPEG-2 Transport Stream (`.ts`) o MP4 frammentati (`.fmp4`) recuperati sequenzialmente dal lettore |
| Prefisso direttiva HLS | I tag `#EXT-X-` controllano il comportamento dello stream - es. `#EXT-X-TARGETDURATION`, `#EXT-X-STREAM-INF`, `#EXT-X-ENDLIST` |
| Durata del segmento | In genere 2-10 secondi per segmento, dichiarati da `#EXTINF` per ogni voce e limitati da `#EXT-X-TARGETDURATION` |
| Bitrate adattivo | Un `.m3u8` master elenca playlist figlie a diversi bitrate e risoluzioni tramite `#EXT-X-STREAM-INF` |
| Crittografia | Crittografia AES-128 per segmento dichiarata con `#EXT-X-KEY`; supporta la consegna delle chiavi tramite server basato su URI |
| Integrazione DRM | Compatibile con Apple FairPlay, Google Widevine e Microsoft PlayReady tramite `#EXT-X-SESSION-KEY` |
| Live vs. VOD | Gli stream live omettono `#EXT-X-ENDLIST`; le playlist VOD completate terminano con esso in modo che il lettore sappia che lo stream è finito |
| Tracce sottotitoli e didascalie | Tracce WebVTT o TTML referenziate tramite `#EXT-X-MEDIA TYPE=SUBTITLES` o `TYPE=CLOSED-CAPTIONS` |
| Sintassi dei commenti | Qualsiasi riga che inizia con `#` che non sia un tag riconosciuto viene trattata come un commento; usata per metadati come artista e titolo |
| Rilasciato | M3U from Winamp (late 1990s); m3u8 = UTF-8 M3U; HLS use of m3u8 since 2009 (Apple), RFC 8216 in 2017 |
| Standard aperto | Sì · royalty-free |
| Specifica | datatracker.ietf.org |