
Quero gravar um filme com horário de início e término especificado, use ffmpeg. Tenho definido o horário de início, o trabalho será, mas quero definir um horário de término. Finalmente, o final dos 50 segundos atrás. Não sei como configurar.
ffmpeg -i demo.mp4 -ss 00:01:20 -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4
Responder1
O método sensato é analisar a leitura ffmpeg das informações de entrada quanto à duração e, em seguida, fornecer um -t
valor de duration - start time - 50s
.
O método insano é alimentar a entrada duas vezes e usar o filtro de sobreposição:
ffmpeg -ss 2:10 -i demo.mp4 -ss 00:01:20 -i demo.mp4 -filter_complex overlay=shortest=1[v] -map [v] -map 1:a -shortest -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4
A primeira entrada tem um valor ss de hora de início + quantidade de parte final do vídeo a ser cortada.
A segunda entrada tem um valor ss da sua hora de início.
A idéia básica é que o filtro de sobreposição possa terminar quando a entrada mais curta terminar. A primeira entrada recebe um valor ss para que a sobreposição termine quando o intervalo do final for atingido.