Tutoriel · HLS · MP4

Convertir M3U8 en MP4 : 3 méthodes qui marchent en 2026

Un M3U8 est une playlist, pas un fichier vidéo. Pour le transformer en MP4 unique, il faut télécharger chaque segment, muxer audio et vidéo, et écrire un container propre. Trois méthodes, classées par facilité d'usage.

Par l'équipe Vidora 9 min de lecture

"Convertir M3U8 en MP4" est une des requêtes les plus courantes autour du streaming vidéo, et l'une des plus trompeuses. Les fichiers M3U8 ne sont pas des vidéos. Ce sont de minuscules fichiers texte qui listent des dizaines à des milliers d'URLs de segments, avec des flux audio et vidéo séparés dans la majorité des cas. Convertir l'un en MP4, c'est télécharger chaque segment, le déchiffrer si besoin, et tout muxer dans un container unique. La bonne méthode dépend de ce à quoi vous avez accès et de la fréquence d'utilisation.

Ce guide couvre les trois méthodes qui marchent de façon fiable en 2026. On se concentre sur les usages légitimes : archiver votre propre contenu, sauvegarder des formations achetées légalement, faire un backup de vidéos pour lesquelles vous avez une autorisation explicite. On ne couvre pas les flux protégés par DRM (Netflix, Disney Plus, Prime Video), et aucune méthode ici ne marche dessus.

1. Contexte rapide : M3U8 est une playlist, pas une vidéo

Si vous avez déjà ouvert un fichier M3U8 dans un éditeur de texte, vous avez vu quelque chose comme ça :

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.96,
segment-001.ts
#EXTINF:9.92,
segment-002.ts
#EXTINF:9.96,
segment-003.ts
...
#EXT-X-ENDLIST

Chaque ligne .ts est un petit chunk de vidéo, typiquement 6 à 10 secondes. Une vidéo de 30 minutes représente 180 à 300 segments. Pour récupérer un MP4 unique, le convertisseur doit :

  1. Télécharger chaque segment dans l'ordre
  2. Si la playlist master pointe vers une playlist audio séparée, télécharger ces segments aussi
  3. Si les segments sont chiffrés en AES-128, récupérer la clé et les déchiffrer
  4. Muxer les segments dans un container MP4, idéalement sans réencodage

Sautez une étape et vous avez un fichier cassé : pas d'audio, vidéo saccadée, ou static. Le détail invisible dans la playlist : savoir si le flux est chiffré ou non. On rentre dans le détail dans le guide M3U8 chiffré, et le format lui-même est couvert dans notre explainer M3U8 (en anglais).

2. Méthode 1 : extension navigateur (un clic)

Si vous arrivez à lire la vidéo dans un navigateur, une extension peut généralement la sauvegarder. L'extension tourne dans votre session authentifiée, hérite de vos cookies, et gère le muxage automatiquement. Pas d'extraction d'URL, pas de ligne de commande.

Étape par étape avec Vidora

  1. Installez Vidora depuis le Chrome Web Store. Compatible Chrome, Edge, Brave, Opera, Vivaldi et tout navigateur Chromium.
  2. Ouvrez la page qui héberge la vidéo. Cliquez Play une fois pour que le lecteur récupère le manifeste M3U8. Vidora le détecte automatiquement.
  3. Cliquez sur l'icône Vidora. Les qualités disponibles apparaissent dans le popup, avec une estimation de la taille de fichier.
  4. Choisissez une qualité et cliquez Télécharger. Vidora récupère chaque segment en parallèle (jusqu'à six à la fois), muxe audio et vidéo, et écrit un MP4 unique dans votre dossier Téléchargements.

La sortie garde le codec et le bitrate d'origine, sans réencodage. Un flux 1080p de 30 minutes est typiquement sauvegardé en 2 à 4 minutes sur une connexion normale.

Compromis

3. Méthode 2 : ffmpeg en ligne de commande

ffmpeg est le couteau suisse du traitement vidéo et l'option la plus portable. Il tourne sur Windows, macOS, Linux, et tout système où vous pouvez compiler un binaire. Une fois que vous avez l'URL M3U8 et les headers pertinents, la conversion est une commande.

La commande minimale

ffmpeg -i "https://cdn.example.com/playlist.m3u8" -c copy output.mp4

Le flag -c copy est critique : il dit à ffmpeg de muxer les segments sans réencoder. La sortie garde le bitrate d'origine, la conversion termine dans le temps de téléchargement, et il n'y a aucune perte de qualité.

La commande réaliste (pour les flux qui demandent une auth)

Si l'URL M3U8 demande un Referer ou des cookies de session, capturez-les depuis DevTools et passez-les à ffmpeg :

ffmpeg \
  -headers $'Referer: https://source.example.com/\r\nCookie: session=abc123\r\n' \
  -i "https://cdn.example.com/playlist.m3u8" \
  -c copy \
  output.mp4

Pour trouver l'URL M3U8 et les headers, notre tutoriel DevTools détaille les étapes exactes dans le Network tab. La doc officielle ffmpeg pour les options de protocole est sur le site ffmpeg.

Quand ffmpeg est le bon choix

4. Méthode 3 : convertisseurs en ligne (et leurs limites)

Une poignée de sites proposent la conversion M3U8 vers MP4 dans le navigateur : collez une URL, récupérez un MP4. Tentant parce que ça ne demande pas d'install, mais ils échouent bien plus souvent qu'ils ne réussissent, pour trois raisons structurelles.

Pourquoi les convertisseurs en ligne échouent

  1. Pas de contexte de session. Le convertisseur tourne sur un serveur distant. Aucun accès à vos cookies, pas de Referer correspondant à la page source, pas de tokens d'auth générés en JavaScript. Tout M3U8 derrière paywall, login ou URL signée renvoie 403 Forbidden.
  2. Pas de support AES-128. La majorité des outils en ligne pas chers concatènent les segments bruts sans vérifier la balise EXT-X-KEY. Les flux chiffrés produisent des sorties cassées qui jouent en static.
  3. Risques privacy. L'URL que vous collez, plus toutes les métadonnées extraites, finissent dans les logs du convertisseur. Vos fichiers vidéo sont traités sur un serveur que vous ne contrôlez pas. Pour du contenu privé, c'est rédhibitoire.

Quand un convertisseur en ligne est acceptable

Pour un M3U8 public et non chiffré (talk de conférence libre, ressource éducative ouverte, clip Creative Commons), un convertisseur en ligne fait gagner du temps d'install. C'est l'outil pour un usage annuel. Pour le reste, utilisez une méthode locale.

5. Quelle méthode choisir : tableau comparatif

Critère Extension navigateur ffmpeg Convertisseur en ligne
Temps d'installation2 minutes15 minutes (install + DevTools)0
Marche sur flux privésOuiOui (avec headers capturés)Non
Gère AES-128OuiOuiRarement
Sans réencodageOuiOui (avec -c copy)Variable
Usage batchManuel, un tab à la foisExcellentPénible
PrivacyLocalLocalServeur distant

Pour 95 pour cent des utilisateurs, l'extension navigateur est la bonne réponse. ffmpeg est la bonne réponse si vous vivez en terminal ou en batch. Les convertisseurs en ligne dépannent pour des fichiers publics ponctuels.

6. Dépannage des problèmes courants

La sortie joue en static ou couleur unie

L'outil a ignoré la balise EXT-X-KEY et écrit les bytes chiffrés bruts. Passez à un outil qui gère AES-128 (Vidora, ffmpeg, yt-dlp) et re-téléchargez. Les bytes chiffrés sur disque ne peuvent pas être récupérés sans la clé appliquée au moment du fetch.

Pas d'audio dans la sortie

La majorité des playlists HLS adaptatives livrent audio et vidéo en flux séparés. Certains téléchargeurs ne récupèrent que le flux vidéo. ffmpeg avec -c copy gère ça nativement. yt-dlp users : ajoutez --merge-output-format mp4. Vidora muxe les deux automatiquement.

Le fichier est bien plus gros que prévu

L'outil a réencodé la vidéo. Utilisez -c copy avec ffmpeg, le mode par défaut de Vidora, ou tout outil qui skip explicitement le réencodage. Le réencodage perd du temps et dégrade la qualité.

La conversion s'arrête en cours de fichier

Un ou plusieurs segments ont échoué (403, token expiré, blip réseau). Relancez la lecture sur la page source pour rafraîchir les tokens, puis redémarrez. ffmpeg a une paire de flags -reconnect 1 -reconnect_streamed 1 qui aide sur les pannes intermittentes.

L'outil ne trouve pas la playlist

Vous avez probablement essayé de convertir avant que le lecteur ait fetché le M3U8. Cliquez Play sur la page source, attendez deux secondes, puis lancez la conversion. Les lecteurs lazy-loaded ne demandent le manifeste qu'au démarrage de la lecture.

7. Questions fréquentes

Peut-on convertir M3U8 en MP4 sans ffmpeg ?

Oui. Une extension navigateur dans votre session authentifiée est le chemin le plus simple : elle détecte le M3U8 automatiquement, télécharge chaque segment, muxe le tout, écrit un MP4 unique. Vidora fait ça en un clic.

Pourquoi mon MP4 converti est plus gros que la source ?

L'outil a réencodé au lieu de muxer. Utilisez -c copy avec ffmpeg ou un outil comme Vidora qui muxe les flux tels quels. Le réencodage ajoute de l'overhead et dégrade la qualité.

Pourquoi pas d'audio dans mon MP4 converti ?

La majorité des playlists HLS adaptatives livrent audio et vidéo en flux séparés. Certains téléchargeurs ne prennent que le flux vidéo. ffmpeg avec -c copy gère ça nativement. Vidora muxe les deux automatiquement.

Combien de temps prend la conversion ?

Sans réencodage, environ le temps de téléchargement des segments. Un flux 1080p de 30 minutes prend 2 à 4 minutes sur une connexion normale. Le réencodage peut multiplier par 5 à 10 selon le preset codec.

Les convertisseurs en ligne gèrent-ils les flux privés ou payants ?

Généralement non. Ils tournent sur un serveur distant sans accès à votre session navigateur, vos cookies, ou le Referer attendu par le CDN. Ils ne marchent que sur les URLs M3U8 publiques non authentifiées.

Peut-on convertir des dizaines de M3U8 en batch ?

ffmpeg est le bon outil pour ça : une simple boucle shell traite un dossier d'URLs sans supervision. Les extensions navigateur ne sont pas conçues pour le batch, et les convertisseurs en ligne deviennent fastidieux au-delà de 5 à 10 fichiers.

À propos

RGC Digital LLC développe Vidora, une extension Chrome Pro de téléchargement vidéo pour Vimeo, Bunny.net, flux HLS et MP4. Basée à Albuquerque, NM. Nous écrivons sur l'outillage vidéo, les protocoles de streaming et le développement d'extensions Chrome.

Lectures associées