Compression FFmpeg : CRF vs CBR vs VBR, comment choisir ?

Conclusion d'abord : la compression vidéo FFmpeg propose trois modes de contrôle de débit — CRF (qualité constante) adapté à l'archivage et au stockage local, CBR (débit constant) adapté au streaming en direct, VBR (débit variable) adapté au streaming à la demande. Pour la même vidéo 1080p, CRF 23 produit 42 Mo avec la meilleure qualité, CBR 4 Mbps produit 38 Mo avec le débit le plus stable, VBR produit 36 Mo avec le volume le plus petit mais une qualité fluctuante. Choisir le mauvais mode entraîne soit un gaspillage de volume, soit une dégradation de la qualité. Ci-dessous, nous détaillons le choix sous trois angles : principe, commandes et tests.

Si vous n'êtes pas encore familier avec les méthodes globales de compression vidéo, nous vous recommandons de lire d'abordGuide de compression vidéo

I. Comparaison des principes des trois modes de débit

Le mode de contrôle de débit de l'encodage vidéo détermine comment l'encodeur alloue les ressources en bits. La différence fondamentale entre les modes réside dans « ce qui est priorisé » — CRF priorise la qualité d'image, CBR priorise la stabilité du débit, VBR fait un compromis entre les deux. Comprendre le principe de ces trois modes est la base d'une bonne compression vidéo.

Dimension de comparaisonCRF (Constant Rate Factor)CBR (Constant Bitrate)VBR (Variable Bitrate)
Nom complet en chinoisFacteur de taux constantDébit constantDébit variable
Objectif principalQualité constanteDébit constantVolume contrôlable
Allocation de débitAllocation dynamique selon la complexité de l'imageDébit fixe par imageFluctue entre les limites
Cohérence de la qualité★★★★★★★☆☆☆★★★☆☆
Contrôle du volume★★☆☆☆★★★★★★★★★☆
Vitesse d'encodageMoyenLe plus rapidePlutôt lent
Scénario applicableArchivage/stockage localStreaming en directStreaming à la demande

En termes simples : CRF laisse l'encodeur « allouer le débit selon la difficulté de l'image » — plus de débit pour les scènes d'action, moins pour les dialogues statiques, la qualité de chaque image étant cohérente ; CBR « donne le même débit quelle que soit la complexité de l'image » — gaspillage de débit pour les scènes simples, débit insuffisant pour les scènes complexes entraînant des mosaïques ; VBR se situe entre les deux, définissant une plage de débit dans laquelle l'encodeur ajuste librement.

II. Exemples de commandes FFmpeg et paramètres

Les trois modes s'écrivent différemment dans FFmpeg, avec des paramètres clés différents. Ci-dessous, les modèles de commandes standard et les descriptions de paramètres pour chaque mode.

ModeParamètre cléDescription du paramètrePlage de valeurs typiques
CRF-crfFacteur de qualité, plus la valeur est petite, meilleure est la qualité0–51 (18–28 couramment utilisés)
Contrainte CRF-maxrate / -bufsizeLimiter le pic de débitmaxrate 2-8Mbps
CBR-b:v / -minrate / -maxrateLes trois définis à la même valeur pour CBR2-8Mbps
VBR-b:vDébit moyen cible2-6Mbps
Plage VBR-minrate / -maxratePlage de fluctuation du débitmin 1-2Mbps / max 4-8Mbps
Universel-presetÉquilibre vitesse d'encodage et taux de compressionultrafast-fast-medium-slow

1. Commande mode CRF

CRF est le mode de compression d'archivage le plus recommandé. L'encodeur alloue automatiquement le débit selon la complexité de l'image, garantissant une qualité constante pour chaque image. CRF 23 est la valeur par défaut de H.264, adaptée à la plupart des scénarios.

Mode CRF pur (sans plafond de débit) :
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

Mode CRF contraint (pic de débit limité, adapté aux scénarios nécessitant un plafond de débit) :
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -maxrate 4M -bufsize 8M -preset medium output.mp4

2. Commande mode CBR

CBR est réalisé en définissant minrate, maxrate et b:v à la même valeur pour un débit constant. Le streaming en direct doit utiliser CBR pour garantir la stabilité du débit.

Mode CBR standard :
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -minrate 4M -maxrate 4M -bufsize 8M -preset fast output.mp4

Mode streaming en direct (avec RTMP) :
ffmpeg -i input.mp4 -c:v libx264 -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 8000k -g 60 -preset fast -f flv rtmp://server/live/stream

3. Commande mode VBR

VBR définit un débit moyen cible, et l'encodeur ajuste librement dans la plage. Convient aux scénarios nécessitant une estimation du volume, comme le streaming à la demande.

Mode VBR standard :
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -preset medium -c:a aac -b:a 128k output.mp4

VBR deux passes (Two-pass, contrôle du volume plus précis) :
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 4M -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -pass 2 -c:a aac -b:a 128k output.mp4

III. Données de test : comparaison des trois modes sur la même vidéo

Nous avons utilisé la même vidéo de test 1080p/30fps (volume original 350 Mo, encodage H.264, durée 5 minutes) pour compresser avec les trois modes et comparer le volume, la qualité et le temps d'encodage.

ModeParamètreVolume de sortieTaux de compressionScore de qualitéTemps d'encodage
CRF 18-crf 18 -preset medium85.2MB75.7%★★★★★142 s
CRF 23-crf 23 -preset medium42.1MB88.0%★★★★☆128 s
CRF 28-crf 28 -preset medium22.5MB93.6%★★★☆☆115 s
CBR 4M-b:v 4M -minrate 4M -maxrate 4M38.3MB89.1%★★★☆☆98 s
CBR 2M-b:v 2M -minrate 2M -maxrate 2M19.4MB94.5%★★☆☆☆92 s
VBR 4M-b:v 4M -preset medium36.8MB89.5%★★★★☆135 s
VBR 4M deux passes-b:v 4M -pass 236.2MB89.7%★★★★☆268 s

Les données de test révèlent plusieurs conclusions clés : CRF 23 atteint le meilleur équilibre entre qualité et volume (42 Mo, qualité quatre étoiles et demie) ; CBR 4M a un volume proche de CRF 23 mais une qualité légèrement inférieure (mosaïques dans les scènes complexes) ; VBR deux passes offre le volume le plus précis mais double le temps d'encodage. Pour l'archivage, CRF 23 est le meilleur choix.

Examinons ensuite l'impact de différents presets sur CRF 23 :

presetVolume de sortieTemps d'encodageDifférence de volumeScénario recommandé
ultrafast58.2MB32 s+38%Aperçu en temps réel
fast45.6MB68 s+8%Compression rapide
medium42.1MB128 sRéférenceDéfaut universel
slow39.8MB285 s-5%Archivage haute qualité
slower38.5MB612 s-9%Compression extrême

Référence des débits recommandés par résolution, pour choisir le débit cible CBR/VBR approprié :

RésolutionFréquence d'imagesDébit CBR recommandéDébit cible VBRValeur CRF recommandéeScénario applicable
480p30fps1.0Mbps1.0MbpsCRF 24Mobile basse définition
720p30fps2.5Mbps2.5MbpsCRF 23Netteté standard web
1080p30fps4.0Mbps4.0MbpsCRF 23HD universel
1080p60fps6.0Mbps6.0MbpsCRF 22HD haute fréquence d'images
1440p30fps8.0Mbps8.0MbpsCRF 22Qualité 2K
2160p(4K)30fps16.0Mbps16.0MbpsCRF 20Archivage ultra-haute définition

IV. Recommandations par scénario : différents usages, différents modes

Les différents scénarios d'utilisation ont des exigences différentes en matière de qualité, de volume et de stabilité de débit. Le cœur du choix du mode de débit est de correspondre aux besoins du scénario.

Scénario d'utilisationMode recommandéParamètres recommandésRaison du choixTaux de compression attendu
Stockage d'archivage localCRF-crf 23 -preset mediumQualité prioritaire, volume optimal85%–90%
Archivage haute qualitéCRF-crf 18 -preset slowQuasi sans perte, conservation à long terme70%–80%
Streaming en directCBR-b:v 4M -minrate 4M -maxrate 4MDébit stable, anti-saccadeSelon la source
Streaming à la demandeVBR deux passes-b:v 4M -pass 2Volume précis, qualité équilibrée80%–90%
Lecture mobileCRF contraint-crf 26 -maxrate 2M -bufsize 4MLimiter le débit pour le réseau mobile90%–95%
Vidéo webCRF contraint-crf 24 -maxrate 3M -bufsize 6MÉquilibrer qualité et vitesse de chargement88%–92%
Enregistrement de surveillanceCBR-b:v 1M -minrate 1M -maxrate 1MDébit constant facilitant le calcul de stockageSelon la source
Vidéo par emailCRF-crf 28 -preset fastVolume prioritaire, qualité acceptable93%–96%

Lors de la compression vidéo, SmartSlim s'appuie sur le moteur de compression Rust propriétaire avec une bibliothèque de paramètres par scénario intégrée — 4 niveaux de compression × 15 scénarios × 5 niveaux de performance = 300 combinaisons, sélectionnant automatiquement le meilleur mode de débit et les meilleurs paramètres selon l'usage de la vidéo, sans ajustement manuel des commandes FFmpeg. Les utilisateurs entreprise peuvent également intégrer le SDK dans leurs systèmes métier pour automatiser la compression vidéo.

Pour plus de comparaisons d'encodage vidéo, voirComparaison d'encodage H.264 vs H.265 vs AV1etMéthodes d'évaluation de la qualité de compression vidéo

V. FAQ

Q1 : Compression vidéo FFmpeg : CRF ou VBR ?

Pour l'archivage et le stockage local, CRF est meilleur. CRF vise une qualité d'image constante : il alloue plus de débit aux scènes complexes et moins aux scènes simples, offrant une qualité cohérente et un volume optimal. Valeurs CRF recommandées : 18–28 ; 18 est quasi visuellement sans perte, 23 est le point d'équilibre par défaut, 28 est acceptable mais avec un volume plus petit. VBR convient aux scénarios nécessitant un contrôle du plafond de débit comme le streaming, mais la qualité est moins stable qu'avec CRF.

Q2 : Quelle valeur CRF donne la meilleure qualité ?

Plus la valeur CRF est petite, plus la qualité est élevée et le volume important. En encodage H.264 : CRF 0 est sans perte, CRF 18 est quasi visuellement sans perte (volume environ 50 % de l'original), CRF 23 est la valeur par défaut de FFmpeg (environ 25 %), CRF 28 est acceptable (environ 12 %). Plage recommandée : 18–28 ; CRF 23 convient à la plupart des scénarios, CRF 18–20 pour une haute qualité.

Q3 : Faut-il utiliser CBR ou VBR pour le streaming en direct ?

Le streaming en direct recommande CBR. Le direct exige une stabilité de débit extrême — CBR maintient un débit constant, évitant les saccades dues aux fluctuations réseau. Les plateformes de streaming exigent généralement un débit fixe (par exemple Twitch 6000 kbps, Bilibili 4000 kbps), que CBR peut correspondre précisément. VBR peut voir son débit exploser dans les scènes complexes, dépassant la bande passante et provoquant des pertes d'images ; CBR reste toujours stable. Recommandation : CBR + maxrate = bufsize = débit cible.

Q4 : Quelle est la différence entre les deux modes VBR de FFmpeg ?

FFmpeg propose deux niveaux de VBR : -crf avec maxrate/bufsize est le VBR contraint (constrained VBR), dont la qualité est proche du CRF pur mais avec un pic de débit limité ; -b:v avec -minrate/-maxrate est le VBR traditionnel, où le débit fluctue dans une plage. Le VBR contraint est plus adapté à un usage pratique, garantissant à la fois la qualité et le contrôle du pic de débit. Le VBR traditionnel convient aux scénarios nécessitant un contrôle précis de la plage de débit, comme l'adaptation à une bande passante spécifique.

Résumé

Les trois modes de débit de FFmpeg ont chacun leur meilleur scénario : CRF privilégie la qualité, adapté à l'archivage (CRF 23 recommandé) ; CBR privilégie la stabilité, adapté au streaming en direct (4 Mbps constant recommandé) ; VBR privilégie le contrôle du volume, adapté au streaming à la demande (encodage deux passes recommandé). Choisir le bon mode est la première étape de la compression vidéo — archivage : CRF, direct : CBR, VOD : VBR. Retenez ce principe et vous ne vous tromperez pas.

Si vous ne voulez pas écrire manuellement des commandes FFmpeg, SmartSlim propose une solution de compression vidéo prête à l'emploi, basée sur le moteur de compression Rust propriétaire avec 300 combinaisons de paramètres par scénario intégrées, prenant en charge 8 formats vidéo (mp4/mkv/avi/mov/wmv/flv/webm/m4v), compression locale sans sortie de données.

Besoin de compresser des fichiers ? Essayez SmartSlim

Construit sur un moteur de compression Rust auto-développé, prenant en charge 10 catégories et plus de 40 formats, dont PDF, images, vidéo, Office et OFD, avec une compression locale qui garde vos données sur place.