CITRIS Introduction | Time-lapse movies | How it's done | Links

CITRIS HD Time-lapse project



Introduction The CITRIS time-lapse project is an attempt to capture the multi-year construction of the new CITRIS building at extremely high resolution. A 6-Megapixel Nikon D70 digital SLR camera is used to generate raw frames during construction hours at 18 seconds/frame. These are run through processing to generate a current web view (now discontinued) as well as several time-lapse movies. We post-processed them into an archival HDTV 1080p movie summarizing the construction.

Time-lapse movies


Thumbnail Frame Size
File Size
Date(s) Frequency
(i.e., one frame every...)
15 seconds
The first day of our time-lapse project; some excavators are breaking large portions of concrete down and others are gathering the debris into piles to be hauled away. They keep the dust down with lots of water. The Campanile clock face has been superimposed to indicate the time.
45 seconds
Every frame from our project for this time span stitched together into one big movie. There's an iconic clock in the lower-right indicating the time; the day is below it.
45 seconds
Every frame from our project on this day, viewed from our perch in Cory Hall. The time is indicated on the lower right.
(at noon)
The final movie of our time-lapse project, with one day per frame (taken every noontime) for 727 construction days. The day is indicated on the right by the moving bar; the graphic displays frames (vertical axis) vs time (horizontal axis).
10 seconds
On 2010-07-31, over 250 volunteers showed up for a Kaboom-led community event to build the Bayshore Heights Park's new playground in Daly City, CA. This movie represents 300x real time (images captured at 10s/frame and displayed at 30fps).

How it's done


Capturing the raw images

An IBM Thinkpad T23 PC laptop running Linux Fedora Core 3 was connected to a Nikon D70 digital SLR camera via Nikon's provided USB cable. We experimented with many cameras before settling on the D70. The camera was mounted on a sturdy tripod. Using the open-source gphoto2 program as the software foundation, we authored two simple scripts in tcsh, our time-lapse "driver" script that simply calls the take-photo script over and over and over again. The cycle time is approximately 18 seconds/frame, and in that time several things happen, as described below. Each image is captured as "JPEG Fine" quality (~3 MB/photo), which yields a little over 7.5 GB of data/day. The images are then sent for daily post-processing on an Apple Macintosh PowerBook G4 laptop. Here's the take-photo script:

  1. The computer checks its watch
    1. If the time is outside of weekday daylight hours, it says "I don't work overtime!", sleeps for one minute then exits.
    2. If not, it continues...
  2. It asks the camera to take a photo, download it, and delete its local copy (so as not to fill up the 256MB CompactFlash card)
  3. It moves the current web thumbnail to the last thumbnail (for the web rollover)
  4. It squashes the new image to be 1/4 of its original size and makes it the current web thumbnail
  5. It copies the local 6 Megapixel image to the web as the current high-resolution image.

Post-processing the raw images into movies

There are ~2,500 images per day, each of which is scaled down, cropped and emblazened with a date and time icon signature based on when the photo was taken. This is done in Adobe After Effects, which saves the movie as archival 30 fps MPEG-4 Best-quality movies (~200 MB). The movies are then exported as Internet-streamable MPEG-4 Medium-quality movies using Apple's Quicktime player and uploaded.

Other links of interest

Introduction | Time-lapse movies | How it's done | Links

WWW Maven: Dan Garcia ( (finger me) Send me feedback

Dan Garcia | Berkeley | Computer Science | Made With Macintosh