I'm currently trying to make a time lapse video. This can be done fine with iMovie, however, I'm having one simple issue. Is there any way to accelerate a video progressively with any open source software?

I specifically named ffmpeg, because I've always had the feeling ffmpeg can do anything :). However, if there is any other (free) alternative, I'd be quite glad to hear of it as well.

If you want to know why, I want to progressively increase the speed to give a dramatic effect to my video.

Essentially, I want the video to get faster as it progresses.

  • What do mean by "progressively"? I'm assuming you want your output to speed up in a non-linear fashion, as in the video will become faster as the video progresses. Is this correct? – llogan Jan 26 '12 at 2:04
  • That is absolutely correct. – boopyman Jan 26 '12 at 2:14
  • 1
    FFmpeg by itself (I'm referring to the binary, not using it programatically via the libraries) can speed up your video, but only in a linear, constant speed. slowmoVideo can change the speed of your video dynamically and add motion blur if desired. It's free, but currently only available for Linux. – llogan Jan 26 '12 at 20:08
  • Hmmm... Thanks for suggesting, it looks pretty awesome ! It's just a shame there's now Windows or OSX version... – boopyman Jan 26 '12 at 20:31

If you have a Linux machine with an nVidia card you might try this: http://slowmovideo.granjow.net/

I've been using slowmovideo. It's still very much alpha software. However, I've been getting some pretty impressive results.

I also progressively speed up video using Blender VSE. Just like slowmovideo, blender lets you change the video speed by manipulating an IPO curve.

  • Great answer for Linux users. See my answer for Mac solution. – boopyman Feb 3 '12 at 22:17
  • Blender will run on Windows and OSX too. – Jason Mar 7 '12 at 22:03

If someone wants to do this on a Mac, here's how.

Download the free trial of Final Cut Pro X (it's 30 days).

In Final Cut Pro X, you have two options that essentially do exactly what SlowMoVideo does:

  • Optical Flow (the creation of frames based on the direction pixels move), for smoother slow motion.
  • A Retiming Ramp, which lets you either gradually go to 0% speed, or from 0% speed.

I think you could script it. For each picture, make a video of only this picture, but make the time show sorter and sorter. After all pictures are processed, then concat all the videos into one video, where each picture will now be shown a shorter and shorter time.


Render your movie as series of images. To speedup your timelapse simply delete every other image. Then combine rest of images with ffmpeg like this: ffmpeg -i image-%03d.jpg foo.avi


DaVinci Resolve free version can do variable speed control on a clip if this is what you're after i.e. for the duration of the clip, it's playback speed changes gradually from A to B.

If your video is missing frames e.g. due to excessive slow down you can even make it insert generated frames by using the "Optical Flow" feature.

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.