This page is part of my survey on how to make movies.
You can create a movie from an image sequence using iMovie'09. It comes with every new Mac, so for the occasional animator this is a simple way to get going. Although it's easy to work with movie clips (combine them, edit them, add sound etc.), it's not so straightforward to make "flip-book" animations (a.k.a. time-lapse movies) from a sequence of images.
The steps shown here let you make a basic animation with sound. There are other free applications that can make animations without sound, e.g., Time Lapse Assembler. The iMovie approach is more complicated but rewards you with more editing flexibility, including sound.
Another approach to do the same thing, but platform-independent (and open-source), is to use the 3D modeling software Blender.
A limitation of iMovie '09 is that single images can't be played back at the fastest frame rate of 30 fps appropriate for NTSC video. However, if the frame rate is too slow for your purposes, you can always speed up the end result later. This is the first method I'll describe.
There is one drawback: if you have to work with a slow frame rate that doesn't correspond to real time, it gets difficult to synchronize sounds. Imagine you have an existing sound file and want to adjust the frame durations to that sound; then you need to edit your clips in real-time. Therefore, I also tried an alternative solution: first convert each frame image to a one-frame movie, then import these movies and string them together to make your animation. With this trick, you can coax iMovie '09 into producing a 30 fps frame rate.
To begin, import the image sequence into iPhoto by drag-and-drop. Then open iMovie and follow these steps:
iPhoto,because then you'll immediately find them under that same folder name in iMovie's image browser.
iMovie, create a New Project, call it (e.g.) "StopMotion"
iMovie, open the media browser,
iPhoto library, shown in the media browser:
Window > Clip Adjustments. Type in a duration such as 0.05 and check the box for "Apply to all stills":

Done.
0.1s. That's too slow for a smooth movie with fast-moving objects. The work-around for this involves some arithmetic: say you want the shortest frame in your animation to be 0.025 seconds long. Then set its duration to the minimum of 0.1s for now, and scale up the durations of all other frames in your animation by the corresponding factor of 4. You will then be exporting a movie that looks four times slower than desired. However, we'll fix this with one additional step at the end. Let's first complete the settings for exporting the movie.
Window > Cropping, Ken Burns and Rotation:
"Fit".
1:23 (seconds separated by a colon from milliseconds), or 0.2 (to specify fractions of a second). Press Enter or Done to make the change stick!


Window > Audio Adjustments:
Share menu, choose Export using Quicktime (adjust preferences if needed):
New Project and go to File > Import > Movie... to re-import your newly created movie back into iMovie.
Window > Clip Adjustments as we did earlier for the still images. But unlike before, you'll now see an entry "Speed" (depending on the format of the imported movie, you may need to click a "convert" button before you can change this setting). A slider will appear that lets you speed up the movie:
Share > Export using Quicktime and export the movie at the new speed.
This is an alternative approach which lets you import still frames with a shorter per-frame duration. I chose to aim for a duration of 0.03 seconds because that corresponds to the 30 frames per second at which iMovie exports movies (when set to NTSC format in the Preferences).
In principle, you can reduce the frame duration even further, but I noticed that when I do so it sometimes causes iMovie to lose track of the order of the imported movie clips when dragging them into a project. This is undesirable because you may then have to manually sort the frames. So the 0.03 s duration is what I consider safe, as it is also the shortest duration allowed by the old version, iMovie HD.
.mov format. Here is a python script that does that.
mov files will be created next to the original images.
$PATH, say at ~/bin/processStills.py. Make it executable by typing chmod 700 ~/bin/processStills.py
#!/usr/bin/python
import sys,os,string
from Foundation import NSNumber
from AppKit import NSImage
from QTKit import *
def process(file):
outfileName = string.join([os.path.splitext(os.path.abspath(file))[0],"mov"],".")
print "creating ",outfileName
mov, err = QTMovie.alloc().initToWritableFile_error_(outfileName, None)
if mov is None:
errmsg = "Could not create movie file: %s" % (outfileName)
raise IOError, errmsg
img = NSImage.alloc().initWithContentsOfFile_(file)
mov.addImage_forDuration_withAttributes_(img, time, attrs)
mov.updateMovieFile()
# Change this to QTMakeTime(10, 600) for even shorter frames:
time = QTMakeTime(20, 600)
attrs = {QTAddImageCodecType: "jpeg", QTAddImageCodecQuality: NSNumber.numberWithLong_(codecHighQuality)}
for f in sys.argv[1:]:
process(f)
movieStillFolder in your home directory, do this:
cd ~/movieStillFolderIf they are
jpg images, type ~/bin/processStills.py *.jpg.
iMovie:
mkdir movies mv *.mov movies/
iMovie, import the above movie clips and drag them into a new project (no need to optimize them at the import stage).
i to inspect the frame rates. To make changes, you first have to select convert all clips, which will possible take some time to complete.
Copy and Paste it as many times as is needed.