Flux HTTP Live Streaming

M3U8 / HLS

Apple l’a inventé, tous les appareils Apple le lisent, et aucun ne l’enregistrera.

En bref

Un fichier .m3u8 est une playlist, pas une vidéo : quelques kilo-octets de texte qui listent des milliers de petits segments à récupérer dans l’ordre. C’est ce choix de conception qui fait que HLS se lit impeccablement sur tous les appareils Apple et que « enregistrer ce fichier » produit un document texte. En télécharger un veut dire récupérer chaque segment et reconstruire un fichier qui n’a jamais existé.

30 juillet 2026

Ouvert sans aide par

iPhone · iPad Ouvre
Mac Ouvre
FoxDL Ouvre

HLS est la spécification d’Apple elle-même et bénéficie d’un support de premier ordre partout — Safari, AVPlayer, AirPlay. Ce qui n’est pris en charge nulle part dans le système, c’est de transformer un flux en direct en fichier sur le disque. Lire et garder sont deux problèmes complètement différents.

Les faits

Nom complet HTTP Live Streaming ; la playlist est un M3U en UTF-8
Type Protocole de streaming, livré sous forme de playlist texte
Extensions .m3u8 (la playlist), .ts ou .m4s (les segments qu’elle désigne)
Publié 2009, Apple ; normalisé en RFC 8216 en 2017
Longueur typique d’un segment De 2 à 10 secondes chacun — une heure de vidéo fait des centaines à des milliers de fichiers
Playlist maître ou playlist média Une maître liste les niveaux de qualité ; chacun d’eux pointe vers une playlist média des segments réels
Vidéo dans les segments H.264 ou HEVC, occasionnellement AV1
Flux en direct La playlist est récupérée à nouveau toutes les quelques secondes et grandit à mesure que la diffusion continue

Une table des matières, pas un livre

Ouvre un .m3u8 dans un éditeur de texte et tu trouveras quelques dizaines de lignes : un en-tête, quelques paramètres et une longue liste d’adresses. C’est tout le fichier. La vidéo vit ailleurs, découpée en segments de quelques secondes chacun, posés sur un serveur sous forme de milliers de petits fichiers séparés.

Le lecteur lit la liste, récupère les premiers segments, commence à lire, et continue de récupérer en avance sur lui-même. Quand ta connexion ralentit, il bascule vers une variante de moindre qualité listée dans la playlist maître — un autre jeu de segments, à un autre débit — et il le fait entre deux segments, si bien que tu vois un changement de qualité plutôt qu’une pause. C’est cette bascule adaptative qui a fait gagner le format.

Ça explique aussi une chose qui surprend : il n’y a pas de fichier unique à posséder. Le film que tu regardes n’existe comme objet nulle part. C’est un millier de morceaux et un jeu d’instructions.

Pourquoi l’enregistrer te donne un fichier texte

Parce que c’est ce que tu as enregistré. Le navigateur a demandé l’adresse que tu lui as donnée, a reçu quatre kilo-octets de playlist et les a écrits sur le disque. Tout ce que tu as réellement regardé est arrivé par un millier de requêtes séparées dont l’opération d’enregistrement ne savait rien.

Télécharger du HLS correctement veut dire faire ce que fait le lecteur, mais vers le disque : lire la playlist, choisir une variante de qualité, récupérer chaque segment dans l’ordre, puis les assembler dans un seul conteneur. Cette dernière étape s’appelle le remuxing — la vidéo et l’audio ne sont pas réencodés, seulement réécrits dans un unique MP4 avec un index correct, pour que le résultat puisse être parcouru.

Deux choses rendent ça plus difficile qu’il n’y paraît. Les adresses des segments sont souvent relatives et changent d’une session à l’autre, donc une liste récupérée il y a une heure peut être morte. Et les flux sont fréquemment chiffrés avec une clé référencée dans la playlist, livrée séparément, et changée en cours de lecture.

En faire arriver un sur un appareil

Uniquement pour des flux que tu as le droit de garder — ton propre enregistrement, ton propre abonnement IPTV, un diffuseur qui propose un téléchargement. Ce qui suit explique comment le mécanisme fonctionne, ce n’est pas une autorisation de le pointer n’importe où.

  1. Laisser un moteur de téléchargement s’occuper des segments

    Récupérer un millier de fichiers et les remuxer est exactement le travail que fait le téléchargeur de FoxDL avec une source HLS : il parcourt la playlist, tire les segments en parallèle et écrit un seul MP4 qui se parcourt comme un fichier normal. Ce qui arrive est un fichier, pas un dossier de morceaux.

  2. Prendre le fichier direct quand il existe

    Beaucoup de sites servent à la fois du HLS et un simple MP4 progressif. Le MP4, c’est une requête, un fichier et aucune reconstruction — toujours la meilleure option quand elle est proposée.

  3. Accepter que certains ne peuvent pas être gardés

    Les flux protégés par DRM — FairPlay, Widevine — sont chiffrés de bout en bout et ne sont pas téléchargeables par conception. Aucun outil ne change ça, et un outil qui prétend le contraire ment sur quelque chose.

Là où les téléchargements HLS dérapent

Un fichier sans barre de progression utilisable

Des segments concaténés sans remuxing produisent un fichier lisible mais sans index. Il se lit depuis le début et ne saute nulle part. Le remuxing écrit l’index qui corrige ça.

Un direct qui ne finit jamais

Une playlist en direct n’a pas de fin — elle continue de grandir. En télécharger une, c’est enregistrer, et ça s’arrête quand tu l’arrêtes, pas quand le fichier finit.

Un lien qui marchait hier

Les adresses de playlist sont en général signées et limitées dans le temps. Un .m3u8 enregistré ce matin ne pointe fréquemment plus vers rien l’après-midi.

La version longue Ce qu’un gestionnaire de téléchargement fait et qu’un navigateur web ne fera pas Pourquoi les transferts s’arrêtent quand tu changes d’app, ce qu’exige vraiment la reprise, et comment un flux devient un fichier.

Questions sur ce format

D’où viennent ces faits

Formats proches

Ta bibliothèque, enfin au même endroit.

Gratuit à télécharger. Pas de compte, pas d’inscription, rien à remettre.

Télécharger dans l’App Store