Разумный метод состоит в том, чтобы проанализировать считывание ffmpeg входной информации для длительности и затем предоставить -t
значение duration - start time - 50s
.
Безумный метод состоит в том, чтобы подать вход дважды и использовать оверлейный фильтр:
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
Первый вход имеет значение ss начального времени + количество конечной части видео, которое нужно вырезать.
Второй вход имеет значение ss вашего времени запуска.
Основная идея заключается в том, что оверлейный фильтр можно сделать так, чтобы он заканчивался, когда заканчивается самый короткий вход. Первому входу задается значение ss, так что наложение заканчивается, когда достигается интервал от конца.