2 min read

How to do a timelapse, from begining to end under GNU/Linux

A timelapse is a video with accelerated effect. It is made with several photos of same place taken at a regular interval. The time can be one second ; more or less. It depends on the subject if fast or slow. If shoot is in raw, the photos have to be developped in the same way. The next step is to make video with 24 images per second or more.


The camera must have a intervalometer option (internal or external) with manual mode. The frame have not to move so a tripod is better.

The exposition have to keep the same, so the manual mode is better. The shutter speed and the aperture is fixed in that mode. The focus must be also manual.
I add a small note. The white have to be fixed if shoot is in jpeg.


In case of RAW, one photo has to be developed. The next step is the copy of development.


There is a option with a lua script, making a timelapse with export and encoding video. But if one option is changed, all the process is to start again. I prefer to make export and use ffmpeg for video.

Encoding the video

I use ffmpeg in terminal.

ffmpeg -r 24 -pattern_type glob -i '*.jpg' -s hd1080 -vcodec libx264 timelapse.mp4
in photos file

Explanations :

  • -r 24
    number of frames per second
  • -pattern_type glob -i '*.jpg'
    takes all image with this format for input
  • -s hd1080
    resolution 1920 * 1080 px
  • -vcodec libx264
    codec for video
  • timelapse.mp4
    name of the video file
  •  -crf 18  -preset slow
    having a better quality but the encoding is slower (write it after the codec)



Guillaume Marty "Medium of formidable contradictions. It is both ridiculously easy and almost impossibly difficult." Edward Steichen
Previous High key
Next Sepia