Como direciono um tamanho de arquivo fixo usando ffmpeg?

Como direciono um tamanho de arquivo fixo usando ffmpeg?

Eu tenho um arquivo de vídeo com 15 segundos de duração e 465.195 KB. Eu gostaria de reduzi-lo para algo em torno de 46.000 KB. Existe uma maneira fácil de fazer isso. Eu tentei a maior taxa de bits permitida

ffmpeg -i input -q:v 0 -b:v 900000k output

e ainda recebo um arquivo de apenas 3.500 KB

desde já, obrigado

Responder1

Como direciono um tamanho de arquivo fixo usando ffmpeg?

Se você deseja transcodificar usando x264, você pode seguir oguia de codificaçãoque fornece exemplos de como direcionar um tamanho de arquivo específico.

target bitrate = target filesize / duration

ie     bitrate = 46000           / 15

ie     bitrate = 3067 (kbit / s)

Presumivelmente, você precisará de um pouco disso para áudio; o guia usa 128k como padrão aproximado, então sua taxa de bits alvo é2.939 kbps. Você pode então usar oduas passagensespecificação de codificação:

ffmpeg -y -i input -c:v libx264 -preset medium -b:v 2939k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 2939k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4

Este método geralmente é usado se você estiver almejando um tamanho de arquivo de saída específico e a qualidade da saída quadro a quadro for menos importante.

É claro que você pode ajustar isso de acordo com suas necessidades em termos de codificação de áudio e assim por diante, mas você deve acabar com um arquivo de 46.000 KB.

informação relacionada