Eu uso FFMPEG (entrada de linha de comando) para converter meus vídeos para um formato de saída específico. O problema que estou enfrentando é quando tento passar uma taxa de bits constante (700 kbps) para o FFMPEG, o resultado é um vídeo de saída com uma taxa de bits diferente (digamos, 1000 kbps). Esse fenômeno ocorre invariavelmente para todos os vídeos. Por que isso está acontecendo? Eu preciso manter uma taxa de bits constante. Alguém pode me ajudar.
Minha versão do FFMPEG é de 0,5
O parâmetro da linha de comando que estou passando para o FFMPEG é,
-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240
{outputfile}
EDITAR:
Consegui forçar o CBR com uma flutuação de +/- 3% quando usei os seguintes parâmetros.
ffmpeg -i myfile.avi
-b 4000k -minrate 4000k
-maxrate 4000k -bufsize 1835k out.m2v
Mas quando usei -maxrate e - minrate junto com o meu conjunto de parâmetros, não consegui forçar o CBR. Meu conjunto de parâmetros é o seguinte,
-i {inputfile}
-b 1200k -minrate 1200k
-maxrate 1200k -bufsize 1200k
-ab 64k -vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240
{outputfile}
Por que isso está acontecendo?
-b
interruptor foi substituído.-b
usado para definir a taxa de bits de vídeo, mas agora define a taxa de bits geral (vídeo e áudio). Para definir o bitrate de vídeo, você deve usar mais corretamente-b:v
(e em-b:a
vez de-ab
). Nada disso vai ajudar particularmente o questionador, no entanto.Respostas:
Para forçar uma CBR você deve usar
minrate
,maxrate
ebufsize
(ver aqui )fonte