Como recortar um filme do horário de início e término especificado no final do ffmpeg há 50 segundos?

Como recortar um filme do horário de início e término especificado no final do ffmpeg há 50 segundos?

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 -tvalor 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.

informação relacionada