1

I want to reduce the speed of a video with FFmpeg for x seconds, after that it should be playing like before. Is there a way to do that in ffmpeg using setpts parameter? I only found this FFmpeg doc to set up the whole Speed-Level.

Rightnow ffmpeg is reading an Image-folder with about 200 images to create a Video using:

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

1 Answer 1

1

FFmpeg does not have a direct way to get this done. What you can do is split the video into slices, apply the slow motion to each slice and concatenate all together again. filter_complex can be used with filter chaining for this.

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

As you are manipulating the video you may need to re-encode the stream. For that you can select an appropriate codec from here.

Hope this helps!

2
  • Thanks, look above my ffmpeg snip, i already have these images.
    – S. Kr.
    Jul 7, 2015 at 7:01
  • 1
    @user293004 Well this is not clear... what do you need exactly?
    – Chamath
    Jul 7, 2015 at 7:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.