Time Lapse Movie

December 15th, 2008, 1:32 pm PST by Greg

We had our first (annual?) holiday open house on Saturday. We had a good turnout: thanks to everybody that came. I think the whole thing was a success.

There was food, and Kat has promised she will blog about that sometime soon.

For me, the conversation piece was the camera on a tripod in the corner. It was hooked up to my laptop and taking an image every 30 seconds (then displaying it). The setup was based on somebody else’s instructions on creating a time lapse movie in a similar way.

I wasn’t entirely sure what I was going to do with these pictures. I thought that a time lapse movie of the party might be cool. I thought it might accidentally capture some good images. What I didn’t realize was that neither Kat or I was going to have a chance to take any pictures anyway, so these were almost the only ones that we would have.

I have gone through the pictures in a cursory way and posted some (along with the few pictures we did take by hand) in our gallery.

I did put the frames together into a time lapse movie (that link is about 24MB; I also did a smaller 12 MB version, or use the direct link to the movie if you’re having plugin problems, or the Facebook version if all else fails).

I’m actually pretty happy with how the movie turned out. I kind of wish I had left the camera running until we had really finished the cleanup that night (with the last frame being lights-out, say), but that didn’t seem as important as actually cleaning stuff up at the time.

Camera Setup

I played with the camera settings for a while before I got it rolling. What I ended up with was the smallest image the camera would take (about 2 MP), my Sigma zoom at 18mm, ISO 1600, auto white balance, auto exposure (most shots were around f/2.8 and 1/30 s), manual focus at about 3 m (depth of field was surprisingly good for the wide aperture), LCD image review off (to save battery).

If I was doing it again, I might lock the white balance and aperture, just to keep everything in the video as consistent as possible.

I swapped out the battery in the camera twice during the day. I’m not totally sure that was necessary, but I didn’t want to take the chance of it running out.

The net result was 1800 exposures in 15 hours: almost as many as I usually take in a year.

Computer Setup

When I had the idea, I thought I was going to have to do some low-level USB hacking, but it turns out gphoto2 will do exactly what I want. The script to start it was this: (gphoto does die occasionally, which is why it’s in the loop)


killall gvfsd-gphoto2 2>/dev/null # kill program hogging the camera
gphoto2 --set-config /main/camera/setcameratime=1 # set time from computer

while true ; do
  killall gvfsd-gphoto2 2>/dev/null
  gphoto2 \
    --set-config flashmode=0 --set-config beep=0 \
    --capture-image --interval ${INTERVAL} --hook-script hook
  sleep ${INTERVAL} # keep going if gphoto dies

And the script “hook” that just bumps the display:

if [ $ACTION = "download" ] ; then
  gqview -r $ARGUMENT # press "f" for full screen

I did have a small problem with gphoto and the Rebel XT which was fixed with a one-line patch. Also, the original instructions above are pretty liberal with the bitrate: I encoded with 1000 and 500 bps for the large and small movies. I also had to crop the frames from the Rebel’s 3:2 aspect ratio to the 4:3 of your average video.

2 Responses to “Time Lapse Movie”

  1. Nico Says:

    Wow, that’s cool! Allison already told me we need to do the same thing at my house warming party…

    Thanks, great story!

  2. Brian Says:

    Hi guys! This looks like a great party. I wish I could have been there, but at least I know what it would have been like on meth. This makes me want a new camera.