Qu'est-ce que le format de fichier M3U8 ?
Les fichiers avec l'extension .m3u8 sont des playlists multimédias encodées en UTF-8. Ce sont des fichiers texte standards - ils ne contiennent aucune donnée audio ou vidéo réelle, mais seulement des références à des fichiers multimédias ou à des sous-dossiers qui les stockent. Outre les références, ils incluent également des informations sur la playlist via des lignes de commentaires commençant par #. Chaque playlist étendue doit commencer par la balise d'en-tête #EXTM3U sur sa première ligne.
Les références au contenu multimédia contenues dans les fichiers .m3u8 peuvent se présenter sous trois formes : un chemin relatif, un chemin absolu ou une adresse URL.
Streaming HLS. Aujourd'hui, les fichiers .m3u8 sont principalement utilisés comme manifestes HTTP Live Streaming (HLS) - une technologie introduite par Apple en 2009 et standardisée plus tard sous le nom de RFC 8216. Dans ce rôle, le fichier décrit où récupérer de courts segments vidéo .ts (généralement de 2 à 10 secondes chacun) et, dans une playlist maître, quelles variantes de qualité sont disponibles. Les directives spécifiques au HLS utilisent le préfixe #EXT-X- - par exemple, #EXT-X-STREAM-INF déclare un débit binaire variant, et #EXT-X-ENDLIST signale qu'un flux est terminé.
Les fichiers .m3u8 se rencontrent couramment dans les services de streaming, les lecteurs IPTV et les stations de radio Internet. Ils sont également utilisés pour stocker des playlists incluant des noms de chansons multilingues, car la norme d'encodage des symboles UTF-8 garantit que les caractères non-ASCII s'affichent correctement.
.m3u8 et .m3u sont des formats très similaires - ce sont des fichiers de playlist reconnus par de multiples lecteurs multimédias. La seule chose qui les différencie est la garantie d'encodage : .m3u8 est explicitement en UTF-8, tandis que les fichiers .m3u peuvent utiliser n'importe quel encodage 8 bits selon les paramètres régionaux du système, ce qui peut entraîner un affichage incorrect des titres comportant des accents ou des caractères non latins.
Sécurité et sûreté
RISQUE : LOWLe fichier .m3u8 lui-même est un texte brut inoffensif. Deux précautions pratiques : (1) il peut pointer vers des URL distantes, donc une playlist malveillante pourrait diriger un lecteur vers un contenu indésirable - inspectez d'abord les playlists inconnues dans un éditeur de texte. (2) L'enregistrement d'une vidéo streamée via m3u8 peut enfreindre les conditions d'un site ou les droits d'auteur ; ne téléchargez que les flux auxquels vous avez droit. Évitez les sites louches de « téléchargement m3u8 » qui poussent des publicités/PUP - utilisez directement yt-dlp ou ffmpeg.
Détails du format
en brefProgrammes qui ouvrent les fichiers M3U8
Détails techniques
spécifications approfondies| Type de fichier | Texte brut UTF-8 ; lisible et modifiable par l'homme dans n'importe quel éditeur de texte sans logiciel spécial |
| Types MIME | `application/vnd.apple.mpegurl` (HLS) ; `audio/x-mpegurl` (playlist locale héritée) |
| En-tête magique | `#EXTM3U` doit apparaître sur la toute première ligne de chaque playlist `.m3u8` étendue |
| Encodage des caractères | Strictement UTF-8 ; le `8` dans l'extension le signale explicitement, permettant des titres de pistes et des chemins de fichiers non-ASCII |
| Types de références | Chemins de fichiers relatifs, chemins de fichiers absolus et URL complètes HTTP/HTTPS/RTSP |
| Format de segment HLS | Fichiers MPEG-2 Transport Stream (`.ts`) ou MP4 fragmentés (`.fmp4`) récupérés séquentiellement par le lecteur |
| Préfixe de directive HLS | Les balises `#EXT-X-` contrôlent le comportement du flux - ex. `#EXT-X-TARGETDURATION`, `#EXT-X-STREAM-INF`, `#EXT-X-ENDLIST` |
| Durée du segment | Généralement 2 à 10 secondes par segment, déclarée par `#EXTINF` par entrée et limitée par `#EXT-X-TARGETDURATION` |
| Débit adaptatif | Un `.m3u8` maître liste des playlists enfants à différents débits et résolutions via `#EXT-X-STREAM-INF` |
| Chiffrement | Chiffrement AES-128 par segment déclaré avec `#EXT-X-KEY` ; prend en charge la distribution de clés via un serveur URI |
| Intégration DRM | Compatible avec Apple FairPlay, Google Widevine et Microsoft PlayReady via `#EXT-X-SESSION-KEY` |
| Direct vs VOD | Les flux en direct omettent `#EXT-X-ENDLIST` ; les playlists VOD terminées finissent par cette balise pour que le lecteur sache que le flux est fini |
| Pistes de sous-titres | Pistes WebVTT ou TTML référencées via `#EXT-X-MEDIA TYPE=SUBTITLES` ou `TYPE=CLOSED-CAPTIONS` |
| Syntaxe des commentaires | Toute ligne commençant par `#` qui n'est pas une balise reconnue est traitée comme un commentaire ; utilisé pour les métadonnées telles que l'artiste et le titre |
| Publié | M3U from Winamp (late 1990s); m3u8 = UTF-8 M3U; HLS use of m3u8 since 2009 (Apple), RFC 8216 in 2017 |
| Standard ouvert | Oui · libre de droits |
| Spécification | datatracker.ietf.org |