Usando o CRF e definindo uma taxa de bits máxima com x264 no FFmpeg

2

Estou tentando transcodificar um vídeo para H.264 / MP4. Estou usando a opção crf = 20 , mas, de acordo com os requisitos, também quero limitar a taxa de bits máxima a 3 MBit / s.

Eu estava tentando trapacear usando x264opts como este

-x264opts crf=20:vbv-bufsize=14000:vbv-maxrate=3000:keyint=40

é o jeito certo de fazer isso? Isso pode ser feito ou eu estou preso com o uso de uma taxa de bits de contant e sem CRF?

    
por hermit 01.03.2013 / 16:12

1 resposta

2

Use -maxrate e -bufsize para forçar o VBV (Video Buffer Verifier) a restringir a taxa de bits de saída:

ffmpeg -i input.file -c:v libx264 -crf 20 -maxrate 3M -bufsize 6M output.mp4

3M = 3 mbit / s, você também pode usar 3000k (para 3000 kbit / s). Defina o tamanho do buffer de acordo com o quanto você espera que seu cliente seja capaz de armazenar em buffer.

Veja este guia para mais informações sobre o uso de x264 com o FFmpeg (embora não mencione a codificação VBV) .

    
por 01.03.2013 / 16:24