How can I combine 30,000 images into a timelapse movie?

Avidemux can create movies from a bunch of images. http://fixounet.free.fr/avidemux/

You could also use mencoder, but is a bit harder to use, with all the command line options 'n all. I've been using this:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv

I use

xxx = 25 and 
yyy = 1200

which produces vids that are just fine. Add tunes to the movie by inserting:

-oac copy -audiofile audiofile.mp3

Use FFmpeg.

This will create a video slideshow (using video codec libx264) from series of png images, named named img001.png, img002.png, img003.png, …

Each image will have a duration of 5 seconds, change the variable according to your choice.

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

If your images have four digits, use %04d, etc. If your images do not have this pattern, you can use shell globs, at least on Linux and OS X:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

You can also change the output framerate by specifying another -r after the input.


If you do some basic calculations you'll see that you are probably running out of memory if you are trying to keep the movie uncompressed.

Each frame is 1,024,000 pixels. At 32 bits per pixel that's 32,768,000 bits (4,096,000 bytes or 3.9 MB).

If we multiply that up by 30,000 frames you need 117187.5 MB (114.45 GB) of memory to hold the whole movie in memory in one go - no wonder QuickTime Pro is failing.

You could try reducing the resolution but that might still fail.

You will need to build the movie up in smaller chunks and then stitch the whole thing together. I would expect that there are applications that do this without loading the entire movie into memory. The final movie will also have to be compressed - again as it would occupy 114 GB on the hard drive. A movie only occupies a single DVD after all while your movie is 20 minutes long (at 25 frames per second).