web-dev-qa-db-fra.com

Comment forcer un débit binaire constant à l'aide de FFMPEG

J'utilise FFMPEG (entrée de ligne de commande) pour convertir mes vidéos dans un format de sortie spécifique. Le problème auquel je suis confronté est lorsque j'essaie de passer un débit binaire constant (700 kbps) à FFMPEG, le résultat est une vidéo de sortie avec un débit binaire différent (disons 1000 kbps). Ce phénomène se produit invariablement pour toutes les vidéos. Pourquoi cela se produit-il? J'ai besoin de maintenir un débit binaire constant. Quelqu'un peut m'aider.

Ma version FFMPEG est de 0,5

Le paramètre de ligne de commande que je passe à FFMPEG est,

-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
{outputfile}

MODIFIER:

J'ai pu forcer le CBR avec une fluctuation de +/- 3% lorsque j'ai utilisé les paramètres suivants.

 ffmpeg -i myfile.avi
-b 4000k -minrate 4000k 
-maxrate 4000k -bufsize 1835k   out.m2v

Mais quand j'ai utilisé -maxrate et - minrate avec mon jeu de paramètres, je n'ai pas pu forcer CBR. Mon jeu de paramètres est le suivant,

-i {inputfile}
-b 1200k -minrate 1200k 
-maxrate 1200k -bufsize 1200k 
-ab 64k -vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
 {outputfile}

Pourquoi cela arrive-t-il?

17
user1338254

Essaye ça:

ffmpeg 
-i input 
-b 1200k 
-minrate 1200k 
-maxrate 1200k 
-bufsize 1200k 
-ab 64k 
-vcodec libx264 
-acodec aac -strict -2 
-ac 2 
-ar 44100 
-s 320x240 
-y output.mp4

J'ai dû utiliser aac au lieu de libfaac, qui nécessite "-strict -2".

A également dû ajouter ".mp4" au nom du fichier de sortie.

J'ai déplacé le "-y" à côté du nom du fichier de sortie car il lui dit d'écraser le fichier, mais il semblait fonctionner là où vous l'aviez aussi.

J'ai fait cela sur OS X 10.8.4 64 bits; ffmpeg version 1.2.1-tessus.

J'ai vu la même version de ffmpeg fonctionner différemment sur les systèmes Linux 32 bits et 64 bits, alors qui sait si cela fonctionnera pour vous.

12
ox.