1

Я хочу уменьшить скорость видео с помощью FFmpeg на x секунд, после этого оно должно воспроизводиться как раньше. Есть ли способ сделать это в ffmpeg с помощью параметра setpts ? Я нашел этот документ FFmpeg только для настройки всего уровня скорости.

Rightnow ffmpeg читает папку с изображениями, содержащую около 200 изображений, для создания видео, используя:

ffmpeg -f image2 -pattern_type glob -i 'image2/*.png' -vf fps=25/1 -s 640x360 -b 2000k output.mp4

1 ответ1

1

FFmpeg не имеет прямого способа сделать это. Что вы можете сделать, это разделить видео на фрагменты, применить замедленное движение к каждому фрагменту и снова объединить все вместе. filter_complex может быть использован с цепочкой фильтров для этого.

ffmpeg -i input_video -filter_complex "
[0:v]trim=0:10[v1];
[0:v]trim=10:30[v2];
[0:v]trim=start=30[v3];
[v2]setpts=PTS/0.5[slowv];
[v1][slowv][v3]concat=n=3:v=1:a=0[outv]" -map [outv] map 0:a -c:v libx264 -c:a copy output_video

Поскольку вы манипулируете видео, вам может понадобиться перекодировать поток. Для этого вы можете выбрать подходящий кодек отсюда.

Надеюсь это поможет!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .