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.