Skip to main content

FFmpeg faststart : corriger la mise en tampon des MP4 sur le web

FFmpeg faststart (-movflags +faststart) place l'atome moov du MP4 en tête : la vidéo web démarre avant d'être entièrement chargée. Sans réencodage.

Convertir MOV en MP4

Envoyez votre fichier MOV — obtenez un MP4 avec faststart activé

MOV MP4

Appuyez pour choisir votre fichier

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Envoi chiffré via HTTPS. Fichiers supprimés automatiquement sous 2 heures.

Le problème : vidéos qui ne se lisent qu'après téléchargement complet

Vous intégrez une vidéo MP4 sur votre site web à l'aide d'une balise HTML5 <video>. Un visiteur clique sur lecture et rien ne se passe. Le navigateur affiche un indicateur de chargement, la barre de progression n'indique aucune durée, et la vidéo refuse de démarrer. Le visiteur attend quelques secondes, abandonne et quitte votre page.

C'est l'un des problèmes vidéo les plus courants sur le web, et il n'a rien à voir avec votre débit internet, la configuration du serveur ou le CDN. Le fichier vidéo lui-même est le problème — plus précisément, la position de ses métadonnées dans le fichier.

Lorsqu'un navigateur rencontre un fichier MP4, il doit d'abord lire les métadonnées pour comprendre la vidéo : quel codec est utilisé, combien d'images il y a, la durée, les horodatages des images et le décalage en octets de chaque image dans le fichier. Sans ces informations, le navigateur ne peut décoder ni afficher une seule image.

Si ces métadonnées se trouvent à la fin du fichier, le navigateur doit télécharger l'intégralité du fichier avant de pouvoir commencer la lecture. Pour une vidéo de 100 Mo sur une connexion standard, cela signifie que l'utilisateur attend 30–60 secondes avant de voir quoi que ce soit. Sur une connexion lente, il pourrait attendre plusieurs minutes. La plupart des utilisateurs partiront bien avant.

Qu'est-ce que le Moov Atom ?

Les fichiers MP4 sont structurés comme une hiérarchie d'« atomes » (également appelés « boîtes » dans la spécification MPEG). Chaque atome a un type et contient soit des données, soit d'autres atomes. Les deux atomes les plus importants pour comprendre faststart sont :

  • moov (atome movie) — contient toutes les métadonnées : paramètres du codec, emplacements des images (décalages en octets), horodatages, durée, informations sur les pistes et tables d'échantillons. C'est la « table des matières » de l'ensemble du fichier vidéo.
  • mdat (atome media data) — contient les données vidéo et audio compressées. C'est la majeure partie du fichier.

Lorsqu'un encodeur crée un fichier MP4, il écrit d'abord l'atome mdat car il écrit les images compressées au fur et à mesure de l'encodage. L'encodeur ne connaît pas les décalages et tailles finaux des images tant que l'encodage n'est pas terminé, donc l'atome moov — qui contient ces informations — est écrit en dernier.

Cela signifie qu'un MP4 fraîchement encodé a la structure suivante :

Structure du fichier
[ftyp] — file type declaration (tiny, ~20 bytes)
[mdat] — compressed video + audio data (99%+ of file size)
[moov] — metadata, frame index, timestamps (small, typically <1% of file)

Un navigateur téléchargeant ce fichier de manière progressive (via HTTP) lit depuis le début. Il rencontre ftyp (bien), puis mdat (les données média), mais il ne peut pas interpréter mdat sans moov car il ne connaît pas le codec, les limites des images ni les horodatages. Il continue donc à télécharger, en attendant que moov apparaisse. Il atteint finalement moov tout à la fin du fichier — après avoir téléchargé l'intégralité.

Comment Faststart résout le problème

Faststart est une étape de post-traitement qui déplace l'atome moov de la fin vers le début du fichier. Après l'application de faststart, la structure du fichier devient :

Structure du fichier
[ftyp] — file type declaration
[moov] — metadata, frame index, timestamps (NOW AT THE BEGINNING)
[mdat] — compressed video + audio data

Maintenant, lorsqu'un navigateur télécharge le fichier de manière progressive, la séquence est :

  1. Lire ftyp — confirmer qu'il s'agit d'un fichier MP4 valide.
  2. Lire moov — découvrir le codec, la durée, l'index des images et les décalages en octets de chaque image dans mdat.
  3. Commencer à télécharger mdat — le navigateur sait maintenant exactement où commence chaque image, il peut donc commencer à décoder et afficher la vidéo immédiatement.

Le résultat : la lecture démarre dans les 1–2 premières secondes du téléchargement, quelle que soit la taille totale du fichier. La barre de durée affiche immédiatement la durée complète. La navigation fonctionne correctement car le navigateur dispose de l'index complet des images. L'expérience utilisateur passe de « cassée » à fluide.

Faststart active également le pseudo-streaming — la capacité de se déplacer à n'importe quelle position dans la vidéo sans télécharger tout ce qui précède. Lorsque le navigateur dispose de l'atome moov, il connaît le décalage exact en octets de n'importe quelle image et peut émettre une requête HTTP Range pour accéder directement à cette position sur le serveur.

Qui a besoin de Faststart

Faststart est essentiel pour tout fichier MP4 qui sera lu via téléchargement progressif sur HTTP. Cela inclut :

  • Développeurs web intégrant des vidéos avec des balises HTML5 <video>
  • Créateurs de contenu partageant des liens vidéo (le navigateur ou l'application du destinataire utilise le téléchargement progressif)
  • Vidéos servies depuis un CDN ou S3 — le stockage cloud sert les fichiers via HTTP, le comportement de téléchargement progressif s'applique donc
  • Campagnes d'email avec vidéo intégrée ou liée
  • Plateformes CMS (WordPress, Squarespace, Wix) qui hébergent directement des fichiers vidéo
  • Publications sur les réseaux sociaux — les plateformes réencodent votre vidéo, mais avoir faststart sur votre fichier source garantit que leur pipeline d'ingétion le traite efficacement

Faststart n'est pas nécessaire pour :

  • Lecture locale — les lecteurs vidéo de bureau (VLC, mpv, Windows Media Player) lisent l'intégralité du fichier depuis le disque, donc la position de moov n'a pas d'importance
  • Streaming adaptatif (HLS, DASH) — ces protocoles segmentent la vidéo en petits morceaux avec des manifestes séparés, l'atome moov n'est donc pas utilisé pour la lecture

Comment vérifier si votre MP4 a Faststart

Vous pouvez vérifier si l'atome moov apparaît avant ou après mdat en utilisant ffprobe. Exécutez cette commande :

Bash
ffprobe -v trace input.mp4 2>&1 | grep -E "type:'(moov|mdat)'" | head -2

La sortie affiche les atomes dans l'ordre où ils apparaissent dans le fichier. Si moov apparaît en premier, faststart est déjà activé :

Sortie
# Faststart enabled (moov before mdat) — good for web
type:'moov'
type:'mdat'

# Faststart NOT enabled (mdat before moov) — will buffer
type:'mdat'
type:'moov'

Une autre façon de vérifier est d'utiliser l'outil atomicparsley ou d'examiner les premiers octets du fichier avec un éditeur hexadécimal. Mais ffprobe est la méthode la plus accessible car il est fourni avec FFmpeg.

Ajouter Faststart sans réencodage

La chose la plus importante à comprendre à propos de faststart est qu'il ne nécessite pas de réencodage. C'est une opération de réarrangement des métadonnées qui copie l'atome moov de la fin du fichier vers le début et met à jour les décalages en octets à l'intérieur. Les données vidéo et audio dans mdat restent identiques bit pour bit.

Cela signifie que l'opération est :

  • Instantanée — le temps de traitement est de quelques secondes quelle que soit la taille du fichier, car seul le petit atome moov est déplacé
  • Sans perte — aucun décodage ou encodage n'a lieu, la qualité reste donc inchangée
  • Sans augmentation de taille — le fichier de sortie a la même taille que l'entrée (en fait quelques octets de moins dans certains cas grâce à l'optimisation des en-têtes d'atomes)

Utilisez FFmpeg avec la copie de flux (-c copy) et l'option movflags :

FFmpeg
ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4

Le drapeau -c copy indique à FFmpeg de copier tous les flux sans réencodage. Le drapeau -movflags +faststart lui demande de déplacer l'atome moov au début. Cela fonctionne sur n'importe quel fichier MP4 quel que soit le codec vidéo (H.264, H.265, VP9, AV1) ou le codec audio (AAC, MP3, Opus) à l'intérieur. Un MKV peut souvent être remuxé de la même façon ; voyez comment convertir un MKV en MP4 sans perte de qualité pour la lecture web.

Si vous encodez une nouvelle vidéo à partir de zéro, incluez faststart dans la même commande :

FFmpeg
ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k -movflags +faststart output.mp4

FFmpeg gère l'opération faststart après la fin de l'encodage. En interne, il écrit l'atome moov à la fin (comme d'habitude pendant l'encodage), puis effectue une seconde passe pour le déplacer au début. Cette seconde passe n'ajoute que quelques secondes au temps de traitement total.

La case « Web Optimized » de HandBrake

Si vous utilisez HandBrake au lieu de FFmpeg, l'option faststart est disponible sous un nom différent. Dans l'onglet Summary, cochez la case intitulée « Web Optimized ». C'est exactement la même chose que -movflags +faststart de FFmpeg — cela déplace l'atome moov au début du fichier.

La documentation de HandBrake le décrit comme : « Optimise les fichiers MP4 pour le streaming HTTP (démarrage rapide). » Malgré cette description vague, tout ce que cela fait est de réarranger l'ordre des atomes. Cela ne modifie pas les paramètres d'encodage, la qualité ni la taille du fichier.

La case « Web Optimized » n'est pas activée par défaut dans HandBrake. Si vous encodez des vidéos pour la lecture web, cochez toujours cette case. L'oublier est l'une des erreurs les plus courantes qui entraînent des vidéos qui mettent en mémoire tampon sur les sites web.

Notre convertisseur applique Faststart automatiquement

Chaque MP4 issu de nos convertisseurs vidéo (MOV, MKV, AVI et autres formats vers MP4), de Compresser une vidéo, Redimensionner une vidéo et Découper une vidéo inclut le drapeau -movflags +faststart. Lorsque vous convertissez un MOV (ou tout autre format) en MP4 avec notre convertisseur, le fichier de sortie a l'atome moov au début, prêt pour une lecture web instantanée. Si votre source est un MOV d'iPhone, convertir un MOV en MP4 vous donne un fichier prêt pour le web avec faststart déjà appliqué.

Vous n'avez pas besoin d'activer une option spéciale ou de cocher une case — faststart est appliqué automatiquement par ces outils. Le fichier de sortie est prêt à être intégré dans des balises HTML5 <video>, téléversé sur votre CMS, hébergé sur un CDN ou partagé via un lien direct. Si vous hésitez encore sur le format, comparez WebM, MP4 et AV1 pour la vidéo web avant d'encoder.

Faststart automatique sur chaque MP4. Notre convertisseur applique -movflags +faststart automatiquement aux fichiers MP4 produits par ses convertisseurs, son compresseur, son outil de redimensionnement et son outil de découpe. Vos vidéos converties sont prêtes pour une lecture web instantanée — aucune étape supplémentaire, aucun post-traitement requis.

Erreurs courantes à éviter

Même les développeurs expérimentés se font parfois piéger par faststart. Voici les pièges les plus courants :

  • Oublier faststart lors du réencodage. Si vous réencodez une vidéo avec FFmpeg mais omettez -movflags +faststart, la sortie aura moov à la fin — même si l'entrée avait faststart. Le drapeau doit être spécifié à chaque encodage.
  • Supposer que les plateformes cloud l'ajoutent automatiquement. AWS S3, Google Cloud Storage et Cloudflare R2 servent les fichiers exactement tels qu'ils ont été téléversés. Si vous téléversez un MP4 sans faststart, c'est ce que vos utilisateurs téléchargeront. Le fournisseur de stockage ne modifie pas vos fichiers.
  • Confondre faststart avec les protocoles de streaming. Faststart active le téléchargement progressif (lecture via HTTP). Ce n'est pas la même chose que le streaming adaptatif HLS ou DASH. Pour le streaming adaptatif, vous devez segmenter la vidéo en morceaux et créer un manifeste. Faststart est destiné aux fichiers MP4 simples servis comme fichiers uniques.
  • Utiliser -movflags faststart sans le +. Le préfixe + est important lors de la combinaison de plusieurs movflags. Sans lui, -movflags faststart remplace tous les autres movflags au lieu de s'y ajouter. Utilisez toujours +faststart par sécurité : -movflags +faststart.

qt-faststart, pipes et MP4 fragmenté

qt-faststart

Un petit outil autonome issu du code source de FFmpeg (tools/qt-faststart.c) qui se contente de déplacer l'atome moov : qt-faststart input.mp4 output.mp4. Il fait la même chose que ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4. Certaines distributions Linux le proposent en paquet ; sinon, la commande FFmpeg est la solution la plus simple.

Pourquoi faststart échoue avec un pipe

FFmpeg écrit l'atome moov après l'encodage puis le déplace, ce qui nécessite un fichier de sortie dans lequel on peut se positionner librement. Lorsque la sortie est un pipe ou un flux en direct (par exemple -f mp4 pipe:1), utilisez plutôt le MP4 fragmenté : -movflags frag_keyframe+empty_moov. Chaque fragment contient son propre petit index, si bien que la lecture peut démarrer sans atome moov en fin de fichier.

MOV, M4A et autres fichiers de la famille MP4

Le drapeau fonctionne pour tout fichier écrit par FFmpeg avec son muxer MOV/MP4, y compris .mov, .m4a, .m4v et .3gp : ffmpeg -i input.m4a -c copy -movflags +faststart output.m4a.

Prêt à convertir ?

Convertissez votre vidéo en MP4 avec faststart — prêt pour le web

MOV MP4

Appuyez pour choisir votre fichier

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Questions fréquentes

Faststart est un drapeau qui déplace le moov atom — le conteneur de métadonnées avec les informations de codec, les emplacements des images et les données temporelles — de la fin du fichier MP4 vers le début. Cela permet aux navigateurs et lecteurs vidéo de commencer la lecture immédiatement sans télécharger l'intégralité du fichier. Cela active le téléchargement progressif et la navigation sans téléchargement complet.

Non. Faststart ne fait que réarranger la position des métadonnées dans le fichier. Les données vidéo et audio restent identiques bit pour bit — aucun décodage ni réencodage n'a lieu. Le processus ne prend que quelques secondes quelle que soit la taille du fichier car seul le petit atome moov (généralement moins de 1% de la taille totale du fichier) est déplacé. La taille du fichier reste inchangée.

Oui. Chaque MP4 issu des convertisseurs vidéo CleverUtils, de Compresser une vidéo, Redimensionner une vidéo et Découper une vidéo inclut le drapeau faststart (-movflags +faststart). Vos vidéos converties sont prêtes pour une lecture web instantanée, l'intégration dans des balises vidéo HTML5 et l'hébergement sur des CDN sans aucun traitement supplémentaire. Aucune option spéciale n'a besoin d'être activée — c'est appliqué automatiquement.

Non. Déplacer l'atome moov ne change pas la taille, à quelques octets près. Le seul coût est une seconde passe d'écriture sur le fichier à la fin de l'encodage.

Un outil autonome en ligne de commande du projet FFmpeg qui déplace l'atome moov d'un MP4 existant au début du fichier. ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4 fait la même chose.

Plus de guides MOV en MP4

Comment convertir MOV en MP4
Convertir un MOV en MP4 gratuitement : en ligne en trois étapes, avec iMovie sur Mac, VLC ou HandBrake sur Windows, R...
MOV vs MP4 : quelle est la différence ?
MOV ou MP4 : tous deux reposent sur la structure de fichier QuickTime. MOV sert à filmer et monter chez Apple, MP4 es...
Format vidéo iPhone : MOV, HEVC et quand convertir en MP4
Format vidéo iPhone : l'iPhone enregistre en MOV avec du HEVC (H.265) ou du H.264. Pourquoi, où ces fichiers posent p...
Comment lire des fichiers MOV sous Windows 10 & 11
Lire des MOV sous Windows 10 et 11 : installez VLC, ajoutez les Extensions vidéo HEVC ou convertissez en MP4. Quelle ...
MKV vs MOV vs MP4 : quel format vidéo choisir ?
MKV ou MOV : le MKV accepte presque tous les codecs et de nombreuses pistes audio et sous-titres ; le MOV est le form...
Qu'est-ce que le CRF en vidéo ? Le Constant Rate Factor expliqué
Le CRF (Constant Rate Factor) est un réglage de qualité : plus la valeur est basse, meilleure est la qualité et plus ...
Comment compresser une vidéo sans perdre en qualité
Compresser une vidéo sans perte de qualité : bien choisir CRF, preset, résolution et codec. Réglages FFmpeg et HandBr...
Tailles vidéo sur les réseaux sociaux : YouTube, Instagram, TikTok et plus
Tailles vidéo des réseaux sociaux en 2026 : résolution, format, durée et taille max pour YouTube, Instagram, TikTok, ...
Guide de Résolution Vidéo : 4K vs 1080p vs 720p vs 480p
La résolution vidéo est le nombre de pixels de chaque image, noté largeur × hauteur (1920 × 1080). Comparez 4K, 1080p...
Comment compresser une vidéo d'iPhone pour l'envoyer par e-mail
Compresser une vidéo d'iPhone pour l'e-mail : un MOV pèse 60 à 400 Mo par minute, la limite est de 20–25 Mo. Les bons...
Les profils H.264 expliqués : Baseline vs Main vs High
Les profils H.264 fixent les outils de compression autorisés. Baseline, Main et High comparés : fonctions, taille, co...
Retour au convertisseur MOV en MP4

Demander une fonctionnalité

0 / 2000