Here is how I made this time lapse video from image:
- Rename the images in sequence as frameXXX.jpg (where XXX is 000, 001, 002, etc). Many photo viewing software like XnVew (free solution, recommended!) and ACDSee can do this easily
- Run the ffmpeg with the following parameter:
ffmpeg -r 12 -i frame%03d.jpg -sameq -s hd720 -vcodec libx264 -vpre hq -crf 25 OUTPUT.MP4 - Done!
You may want to change the -r parameter to your favorite frame rate. If you want 1080p, simply replace the -s hd720 parameter as -s hd1080, or -s 1920x1080 if you want.
One more important point to note is that the order of parameters matters. Any parameters before the -i will become options for input stream. Like if you type something like ffmpeg -r 12 -i blah blah blah, you will make the specified rate meaningless as it will be applied to input stream which are still imagesthis is how the rate parameter should be specified. Make sure that you don't mix them up when you customize the parameter. Another common problem I've seen is the format for -i parameter. It is actually the same as that of the printf() function in C++. For example, frame%03d.jpg will make ffmpeg looks for images with names frame000.jpg, frame001.jpg, frame002.jpg... while frame%05d.jpg means frame00000.jpg, frame00001.jpg, frame00002.jpg...
Yet I think the quality is not very perfect. Maybe need further fine tunning the parameters. Anyone has hints please?
A uncompressed version can be done like this:
- Resize your image to your desired output resolution (e.g. 1920x1080, 1280x720, etc)
- Rename the images in sequence as frameXXX.jpg (where XXX is 000, 001, 002, etc). Many photo viewing software like XnVew (free solution, recommended!) and ACDSee can do this easily
- Run the ffmpeg with the following parameter:
ffmpeg -r 12 -i frame%03d.jpg -vcodec copy OUTPUT.AVI - Done again!
Enjoy~

