I've been wanting to try time-lapse photography for a while, and a recent trip to California seemed like the ideal time to give it a go.

I made a plan to hike up to Griffith Observatory in Griffith Park, Los Angeles, find a good spot, and photograph the sun setting, looking west over Hollywood and Beverly Hills towards Santa Monica.

The hike went well enough. It was a pleasant day, but a cloudy one (something I was hoping would change by sunset!). I was at Griffith Observatory by lunch time and had a few hours to look around (it's well worth a visit). After looking for the best spot to photograph the sunset, I chose one next to the car park, where there weren't any trees in the immediate foreground. It was still looking worryingly cloudy when I started, but I figured that even if the sun didn't break through, I might as well try the time-lapse anyway and at least have some footage of the clouds scudding across the sky. Fortunately it turned out rather better than that!

Over the next hour and a half I took around 1,400 photos (see the technical details below if you're interested), and after much processing, this was the result. It's not perfect (not the sunset's fault, I couldn't have asked for better there!), but for a first serious attempt, I'm pretty happy with it!

Technical Details

My camera is a Canon 60D, the lens used was the Canon EF24-105mm f/4L IS.

I used an android app, Sunrise Sunset, to get the exact time and direction of the sunset, and also used another android app, Compass, to work out exactly where that was relative to me.

I then composed the photo. With the Rule of Thirds in mind, I positioned the horizon on the lower horizontal, the tall buildings of Century City on the skyline on the left vertical, balanced against where (I hoped) the sunset would be on the right vertical third, ending up with the lens at 45mm.

I was aiming for a time-lapse movie around a minute long, probably at 24 frames per second, and looking at photographing for about an hour and half. Taking into account that some of this would be after the sun had gone down with the longer exposures that would require, I settled on one photo every four seconds. Similarly, to allow for the changing light levels, I shot in aperture-priority mode, to let the camera handle the shutter speed to keep the exposure roughly consistent. Initially I started with ISO 100, with the intention on increasing that manually between exposures later on as necessary to keep the total exposure time below four seconds, and I went with an aperture of f/6.3 (as a compromise between not having the lens wide open, and not having it so narrow as to increase the exposure time too much, especially later on). Bearing in mind this was my first serious attempt at time-lapse photography, I did make a mistake here...

I was using the Triggertrap android app connected to my phone with the Triggertrap mobile kit to trigger the photos, with the phone and the camera both mounted on my travel tripod, the Manfrotto BeFree (the phone via a RAM mount). The BeFree is a good travel tripod, and it's reasonably sturdy. But it's not sturdy enough to entirely avoid motion creep over ninety minutes; there wasn't a lot of movement, but there was some. And as the exposures starting getting longer, it turned out that the tripod wasn't quite sturdy enough for every single exposure either, if you forget to use mirror lock-up. Which I had. Oops.

Fortunately I thought to take a moment to check when I started adjusting the ISO upwards, and with the nature of the photos at that point - bright city lights against a darkening scene - the streaks from the camera shake were obvious. Unfortunately, the Triggertrap app doesn't have a setting for mirror lock-up use yet, so I had to adjust the release time to every two seconds - one to raise the mirror, one to take the photo. That did the trick, but it didn't leave a lot of room for a safety margin as the scene got darker, the exposures got longer, and the ISO had to go up. I ended up at ISO 1600 and 1.6 second exposures by the final scene. With hindsight it would have been better to allow for mirror lock-up from the start, and perhaps to shoot with a wide open aperture (f/4 on that lens), which could also have helped avoid aperture flicker.


When I got back from the trip, after going through the results and dropping a few photos which had been excessively blurred from the camera shake before I enabled mirror lockup, I had 1,384 photos ready to be put together into a time-lapse movie. First I went straight ahead and put them together into a movie without any pre-processing, to see what I had to begin with. Two problems were apparent. One, as mentioned above, there was some movement between shots which became obvious in the form of very noticeable camera shake. And two, to go with that, there was a lot of flickering as the shutter times adjusted (and possibly from the aperture opening and closing too).

Looking for applications to align the photos, I found two main options. Hugin, which is a panorama photo stitcher but also has functionality to align a stack of photos, and Photoshop. Unfortunately neither worked here - Hugin worked away for a few hours and then crashed, and after leaving Photoshop overnight it had barely got a fraction of the way through processing. The problem seems to be that rather than aligning the images with respect to the first image and then working down the stack, they attempt to examine them all first and determine the greatest area of shared features, and then align to that common frame. I'm sure that works very well with small numbers of photos, but it doesn't seem to scale too well with nearly 1,400 of them! I could have aligned them in small batches, but then the batches would still have been unaligned with each other.

So, I aligned them all by hand. That took a while!

Removing the flicker was a lot easier. I used the free (GPL licensed) video processing utility VirtualDub together with the deflicker plugin by Donald Graft, and that did an excellent job. I also used Gunnar Thalin's Deshaker plugin to remove what little shake was left after manually aligning the images.