Its quite interesting to look at time lapse videos.. but how do you make them? It is fairly easy with ffmpeg, but the standard method is to create fifty bazillion images from the source video, then re-encode that to whatever... thats quite troublesome and takes dozens of GB of space, especially when using HD video, and... what about all the wasted cpu cycles from compressing the png/jpg frames? (i know you can use bmp, see above about the DOZENS OF GB, or 5.5 MB/frame for 1920x1080)
Surely there must be a better way to do this, in linux you can easily pipe from one program to another, but no one seems to know how to do that with ffmpeg in windows.
So... I just spend the last...6? hours trying to figure this out... couldn't find it anywhere in Google, so as i always forget stuff, I thought, why not post it on a blog or something... perhaps it will save time for someone else...
Notes:
This exact syntax works with both linux and windows consoles.
Using this command somehow suppresses the ffmpeg check that sees if the output target file exists, so it will overwrite without asking anything.
-deinterlace is deprecated, instead use
What this does, is tell ffmpeg to take 2 frames per sec from the source vid, then pipe that to the next ffmpeg and, with the settings i use, re-encode that to x.264
The bare command, if you wanted to specify your options like bitrate, other codec etc would be:
C:\>ffmpeg -i "src_vid" -f image2pipe -vcodec ppm - | ffmpeg -f image2pipe -vcodec ppm -i - -vcodec
(whatever you want after this e.g. xvid, etc etc...)
At the moment im working on a 4 hr time lapse of the clouds and sunrise... should be good :)