Realmente depende da sua velocidade de upload.
bufsize
determinará como o ffmpeg é religioso para manter sua taxa de bits constante. Se você definir um bufsize
de 64k, conforme FFmpeg Wiki: Limitando a taxa de bits de saída , ele calculará sua taxa de bits atual a cada 64 kilobytes e ajustará de acordo. Tamanhos menores bufsize
podem ser prejudiciais à qualidade, pois não permitem espaço suficiente entre as verificações do x264 para fazer alterações repentinas - você terá obstruções.
Se você maxrate
tem 640kbps e bufsize
64k, cada décimo de segundo x264 é verificado. Isso é subótimo - o FFmpeg Wiki: codificação para sites de streaming recomenda executá-lo a cada 1 a 2 segundos. Se isso não fez sentido, pense nisso como maxrate
/ bufsize
= frequência das verificações. Mantenha essa frequência entre 1 e 2 segundos como regra geral.
Se você definir ambos maxrate
e bufsize
, deverá:
- defina
maxrate
como a menor velocidade de upload provavelmente será (no exemplo wiki do ffmpeg , isso representa 80% da velocidade total de upload, mas sua milhagem pode variar).
- defina
bufsize
para algo entre o mesmo que o seu maxrate
(um segundo) e o dobro do seu maxrate
(2 segundos). Se isso ainda não estiver baixo o suficiente, abaixe o seu maxrate
e, em seguida, redefina-o de bufsize
acordo.
Então, você terá que brincar um pouco, mas como você tem que começar em algum lugar, eu começaria em maxrate
torno de 600k, o que geralmente era satisfatório o suficiente para mim antes de usar crf
para tudo.
Se desejar, tente valores mais baixos por bufsize
, a cada três ou quatro segundos, apenas para ver como o valor muda a aparência da saída. Em seguida, você pode determinar o quanto deve se preocupar com isso no seu vídeo.
Na verdade, não existe um valor normal - o que crf
faz é otimizar a saída com base no que ele considera o melhor tamanho de buffer para manter a taxa que está definida. Ele tenta manter um tamanho de arquivo baixo, mantendo alguma qualidade, à custa de picos ocasionais.