Como compactar um vídeo .avi para 10% do seu tamanho original usando o ffmpeg?

1

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

Obrigado antecipadamente

    
por Corrine 30.09.2015 / 15:19

1 resposta

1

Como posso segmentar um tamanho de arquivo fixo usando ffmpeg ?

Se você deseja transcodificar usando x264 , pode seguir o guia de codificação que dá exemplos de como direcionar um tamanho de arquivo específico.

target bitrate = target filesize / duration

ie     bitrate = 46000           / 15

ie     bitrate = 3067 (kbit / s)

Você presumivelmente precisará de um pouco disso para o áudio; O guia usa 128k como um padrão bruto, então sua taxa de bits de destino é 2939 kbit / s . Você pode então usar a especificação de codificação two-pass :

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

This method is generally used if you are targeting a specific output file size and output quality from frame to frame is of less importance.

Você pode, claro, ajustá-lo às suas necessidades em termos de codificação de áudio e assim por diante, mas você deve acabar com um arquivo de 46000kB.

    
por 30.09.2015 / 15:40