L'encodage two-pass dans FFmpeg
Choisissez la taille cible, convertissez-la en bitrate, puis lancez deux passes. Exemple : une vidéo de 10 minutes qui doit tenir dans 100 Mo : 100 × 8 000 ÷ 600 s ≈ 1 333 kbps au total ; moins 128 kbps d'audio, il reste environ 1 200 kbps pour la vidéo.
ffmpeg -y -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 1 -an -f null /dev/null— passe 1 (analyse seule). Sous Windows, écrivezNULau lieu de/dev/null.ffmpeg -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 2 -c:a aac -b:a 128k output.mp4— passe 2 (l'encodage réel).
Les deux passes doivent utiliser les mêmes réglages vidéo. FFmpeg écrit l'analyse dans ffmpeg2pass-0.log dans le dossier courant ; la passe 2 le lit, et vous pouvez le supprimer ensuite.
La différence fondamentale
CRF et l'encodage two-pass résolvent le même problème — équilibrer qualité et taille de fichier — mais depuis des angles opposés :
- CRF (Constant Rate Factor) : « Je veux ce niveau de qualité. Donne-moi la taille de fichier nécessaire pour l'atteindre. » Vous contrôlez la qualité ; la taille est la variable.
- Two-pass : « Je veux cette taille de fichier (bitrate cible). Donne-moi la meilleure qualité qui y rentre. » Vous contrôlez la taille ; la qualité est la variable.
| Caractéristique | CRF | Two-Pass |
|---|---|---|
| Vous contrôlez | Niveau de qualité (valeur CRF) | Bitrate cible / taille de fichier |
| Variable | Taille du fichier | Qualité |
| Passes | 1 (passe unique) | 2 (analyse + encodage) |
| Vitesse | 1x (référence) | ~2x plus lent |
| Prédiction de taille | Imprévisible | Prévisible |
| Constance de la qualité | Qualité constante par image | Distribution optimale des bits |
Comment fonctionne CRF
L'encodage CRF est un processus en une seule passe. L'encodeur traite chaque image et se demande : « Combien de bits me faut-il pour atteindre ce niveau de qualité sur cette image spécifique ? »
- Les images complexes (explosions, mouvements rapides) reçoivent davantage de bits
- Les images simples (plans statiques, cartons de titre) en reçoivent moins
- La qualité reste constante ; le bitrate fluctue
Le résultat est un fichier à bitrate variable (VBR) où chaque image obtient exactement les bits dont elle a besoin — pas de gaspillage sur les scènes simples, pas de manque sur les scènes complexes. C'est pourquoi CRF produit le meilleur rapport qualité/taille pour l'encodage hors ligne.
Comment fonctionne le two-pass
L'encodage two-pass traite la vidéo en deux temps :
- Passe 1 (Analyse) : L'encodeur parcourt toute la vidéo sans produire de sortie. Il construit une carte de complexité image par image — quelles scènes sont simples, lesquelles sont complexes, où se situent les changements de scène.
- Passe 2 (Encodage) : En s'appuyant sur l'analyse de la passe 1, l'encodeur distribue le bitrate cible de manière optimale sur toutes les images. Les scènes complexes reçoivent une plus grande part du budget bitrate ; les scènes simples en reçoivent moins.
Le résultat : un fichier qui atteint précisément le bitrate cible tout en distribuant la qualité aussi uniformément que possible sur l'ensemble des scènes.
Comparaison de qualité
Avec des réglages raisonnables, CRF et two-pass produisent une qualité quasi identique. Les différences sont subtiles :
- Avantage CRF : Chaque image obtient exactement les bits dont elle a besoin. Aucune image n'est jamais lésée. CRF peut produire une qualité moyenne légèrement meilleure car il n'est pas contraint par un budget bitrate.
- Avantage two-pass : Meilleure distribution des bits pour les contenus extrêmes (longues vidéos à complexité très variable). La passe d'analyse aide l'encodeur à anticiper les scènes complexes à venir.
En pratique, la différence de qualité entre CRF et un encodage two-pass bien ciblé est négligeable pour la plupart des contenus. Une analyse VMAF image par image serait nécessaire pour détecter les différences.
Comparaison de vitesse
La différence de vitesse est simple :
- CRF : 1x le temps d'encodage (une seule passe sur la vidéo)
- Two-pass : ~1,7–2x le temps d'encodage (la première passe est rapide car elle ne produit pas de sortie, mais prend quand même du temps)
Pour une vidéo 1080p de 10 minutes sur un CPU moderne :
- CRF medium : environ 10 minutes à une vitesse d'encodage d'environ 30 fps (18 000 images ÷ 30 fps = 600 s)
- Two-pass medium : environ 17 à 20 minutes, car la première passe est plus rapide que la seconde. Un preset plus rapide raccourcit les deux passes ; notre guide des presets FFmpeg : vitesse vs taille de fichier montre le compromis.
Quand utiliser CRF
CRF est le meilleur choix pour presque tous les cas d'usage courants :
- Conversion de fichiers : MKV en MP4, MOV en MP4, toute conversion où vous souhaitez la meilleure qualité
- Archivage personnel : Stocker votre vidéothèque à qualité constante
- Mise en ligne : YouTube, les réseaux sociaux et la plupart des plateformes acceptent les fichiers à bitrate variable
- Partage : Quand la taille du fichier n'a pas besoin d'être exacte, CRF offre une qualité optimale
- Traitement par lots : Un seul réglage (CRF 23) convient à tous les types de contenu
C'est pourquoi notre convertisseur utilise CRF — il produit la meilleure qualité sans que les utilisateurs aient à calculer des bitrates cibles.
Quand utiliser le two-pass
L'encodage two-pass est préférable lorsque la taille du fichier doit être prévisible :
- Authoring DVD/Blu-ray : Le contenu doit tenir sur une capacité de disque précise
- Streaming à bande passante contrainte : Le streaming à débit adaptatif (HLS/DASH) exige des bitrates cibles précis pour chaque niveau de qualité
- Limites de taille de fichier : Plateformes imposant des limites strictes à l'upload (Discord 10 Mo sans Nitro, e-mail 25 Mo) où vous devez garantir que la sortie respecte le quota
- Diffusion professionnelle : Les pipelines broadcast exigent souvent des cibles CBR ou VBR précises
Le meilleur des deux : CRF plafonné
Il existe une approche hybride appelée CRF plafonné (qualité contrainte) qui combine les avantages des deux méthodes :
ffmpeg -i input.mkv -c:v libx264 -crf 23 -maxrate 4000k -bufsize 8000k -c:a aac output.mp4
Cela indique à l'encodeur : « Cible la qualité CRF 23, mais reste à environ 4 Mbps ou moins (en moyenne sur le tampon de 8 000 kbit, soit environ 2 secondes). » En pratique :
- Scènes simples : encodées à la qualité CRF 23 (bien en dessous de 4 Mbps)
- Scènes complexes : encodées à la qualité CRF 23 sauf si cela dépasserait 4 Mbps, auquel cas la qualité est légèrement réduite pour rester dans la limite
Le CRF plafonné est idéal pour les applications de streaming où vous avez besoin de prévisibilité de bande passante sans sacrifier l'approche qualité-d'abord de CRF.
VBR 1 passe vs 2 passes dans Premiere Pro, Media Encoder et HandBrake
- Premiere Pro et Adobe Media Encoder : dans les réglages d'exportation H.264, l'option Codage du débit (Bitrate Encoding) propose CBR, VBR 1 passe et VBR 2 passes. Le VBR 2 passes prend plus de temps et répartit généralement mieux les bits pour une même cible.
- HandBrake : dans l'onglet Vidéo, passez de Qualité constante à Débit moyen (Avg Bitrate), puis activez l'encodage en deux passes (intitulé 2-Pass ou Multi-Pass Encoding selon la version).
- Règle empirique : à des bitrates généreux, 1 passe et 2 passes donnent le même résultat ; la seconde passe devient utile quand le bitrate est serré pour le contenu.