How can I combine 30,000 images into a timelapse movie?
I have taken 30,000 still images that I want to combine into a timelapse movie. I have tried QuickTime Pro, TimeLapse 3, and Windows Movie Maker, but with such a huge amount of images, each of the programs fail (I tried SUPER ©, but couldn't get it to work either...?). It seems that all of these programs crash after a few thousand pictures.
The images I have are all in .JPG format, at a resolution of 1280x800, and I'm looking for a program that can put these images into a timelapse movie in some kind of lossless format (raw/uncompressed AVI would be fine) for further editing. Does anyone have any ideas, or has anyone tried anything like this with a similar number of pictures?
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).
Try PhotoLapse; a review of it is given on Lifehacker.com here.