ffmpeg for time-lapse, sets of images, and even *archiving*!

I now use the FFMPEG package compiled locally on my Mac Leopard laptop.

If you want to take a bunch of JPEG images, you can turn them into a “motion JPEG” AVI video file (which is ideal for time-lapse). What’s neat about ffmpeg, is you can turn a directory of JPEGs into an AVI and later recreate the JPEGs from the AVI.

Thus, I can take 100-1000 JPEG images from a “shoot” and create a video time-lapse of all the JPEG images in a given subdir in a command-line shell (terminal):
ffmpeg -r 6 -i "%04d.jpg" -an -vcodec copy out.avi

Even cooler, you can go directly back to *the same JPEG* images like so (this is where you can see it is a lossless conversion from JPEGs to Motion JPEG and back):
ffmpeg -i out.avi -vcodec copy "%04d.jpg"

“-r 6” is the framerate, ie: “make the video play 6 JPEG images per second”.
It doesn’t get much nicer than that! Not to mention, the encoding is FAST! I recently moved from mencoder/mplayer to ffmpeg since you can specify a complete copy of the input JPEGs (lossless from the source) as well as compress them down a bit (as you like).

For the lossless conversion, the (not entirely obvious) *key* to success is to use the “-vcodec copy” *after* the source file(s).

You can get this running on Windows with Cygwin, Mac with terminal, and any linux distribution like Ubuntu.

ffmpeg building on mac intel/x386

ffmpeg v0.5 just came out. it’s the bomb. it’s got tons of fixes and massive amounts of new codecs that it can read. for example, it can now decode my professional filmmaker brother’s “DVC ProHD” highly proprietary (and massive bitrate!) format! it can also decode flac and 24-bit flac. (encoding flac is disappointing though).

at any rate! macports is a great way to get it installed on your mac.
the current way of setting up macports and then doing
sudo port install ffmpeg
works fine on my PPC at work (oddly — pretty old computer now) but not my Air (intel x386)

So I set out to find the fixes needed to make it work. Here they are:

step 1: install macports — see http://www.macports.org/install.php

sudo port install x264 +noasm # for i386 (not needed for PPC)
sudo port fetch ffmpeg
sudo port checksum ffmpeg
sudo port extract ffmpeg
sudo port patch ffmpeg
remove “–enable-shared” from /opt/local/var/macports/sources/rsync.macports.org/release/ports/multimedia/ffmpeg/Portfile
sudo port install ffmpeg

[May update] I think the packages are improving so some of the above steps may not be necessary, depending on your Mac model, xcode version, and such. So I’d suggest just trying “sudo port install ffmpeg” first to see if it works and try some tweaks above if that doesn’t work