by ʇolɐǝz ǝɥʇ qoq

Submit your Photo
Hall of Fame

Please participate in Meta
and help us grow.

Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to create a timelapse from a collection of pictures, under Ubuntu. I'd like to make HD videos, and ideally add a soundtrack.

share|improve this question
I haven't seen that. I can delete this question and post my answer there. Is that ok? – Frederico Schardong Jun 4 '13 at 20:08
I am not even sure if this is the best stackexchange site for this. I just want to share what I did. – Frederico Schardong Jun 4 '13 at 20:09

Ffmpeg will do it. If you have images img001.jpg, img002.jpg, img003.jpg, ... then on the command line do:

ffmpeg -i img*.jpg output.mpeg

There are more options given in ffmpeg --help or man pages, or the web. These allow control over the frame rate and the output format.

share|improve this answer

First we rename all *.JPG files based on their creation date. Sometimes cameras change the file name or just ordering them is somehow not what we want. However, renaming them by the creation date always work:

jhead -n%Y%m%d-%H%M%S *.JPG

After that we put this list in a file:

ls -1tr | grep -v files.txt > files.txt

And then use mencoder to create an AVI video using 20 fps. Note that this will generate a huge video file, usually around the same size of all the pictures summed.

mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'

I usually take pictures for timelapse with the lowest resolution of my camera (5 MP), which has a 4:3 aspec ratio. To generate a proper 1080p video the image is first re-scalled to 1920 pixels of width and then I crop it to 1080 of height. This way I am not changing the photos' content, just cropping:

ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi

The reason I use mencoder to put the photos together is because I got a segmentation fault with ffmpeg.

share|improve this answer
For the segfault it would be useful to know your version of ffmpeg. – Unapiedra Jun 4 '13 at 21:22

Blender is a good solution if you're dealing with motion timelapse (hyperlapse) or unsteady footage. It has motion tracking capabilities so you can choose a fixed point to track throughout the timelapse. You can also fix rotation issues.

share|improve this answer

You may also be interested in the project timelapse-darktable. It makes it easy to post-process images with darktable and make a timelapse of the serie. Instructions of how to use it is found here:

share|improve this answer

You may use mencoder. Options are quite explicits:

  • list all your images files.

If they all are in the curent directory with ordered names and you want the list in the file /tmp/files.txt:

ls -1 *jpg > /tmp/files.txt

  • Use mencoder with the appropriate option.

If you want the output file to be /tmp/test.avi with 30fps:

mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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