Helper scripts to make timelapse movies using digital camera and gphoto . Currently tailored for Canon EOS 400D, but can be easily adjusted to suit other cameras.
Perl Shell
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2 commits behind lingo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Lapse (especially in documentation)


Luke Hudson


Badly organised but hpefully useful scripts to make timelapse films from Canon EOS (Especially 400D). is the main script. It takes arguments decribing the output film, then creates the directory given by <NAME> and proceeds to take photos with your camera until the required number of frames is reached (or Ctrl+C pressed).

Then will use ffmpeg to encode a video from those JPG files, which it will then play with mplayer


  • Tidying of code and linkage between files.

  • Configurable programs for encode, possibly, but definiely for playback.

  • Easy-to-configure setup for various cameras.

  • Possibly a GUI control of this script too.


USAGE: ./ <NAME> -I <interval> [-F <numframes> | -D <duration>] [--hookscript=/path/to/script]

-I is interval, either in seconds or with 'm' suffix to denote minutes. Eg. '10m' means 1 photo every 10 min, and '1' means 1 every second.

-F Number of frames to capture. You can omit this and use '-D' to specify the final video duration instead if you like.

-D Duration of final video, specified using same format as -I

--hookscript This defaults to emty. However, provided is hookscripts/ which attempts to show a preview of last image taken, using ./ See the gphoto2 documentation for more info on hookscripts

--fps Frames per second of output video. Defaults to 20 (slightly slower than normal film at 24)

--sim Run simulation, don't call gphoto2. This uses ./



  • sudo aptitude install gphoto2 ffmpeg # Core requirements

Perl libraries:

  • sudo aptitude install libtime-duration-perl

Optional (if you use the defaults, these are required):

  • sudo aptitude install libgtk2-perl libgtk2-gladexml-perl # For, as below
  • cpan Gtk2::Ex::MPlayerEmbed; # For, not needed if you omit, or use custom, hookscript
  • sudo aptitude install mplayer # For movie preview functions, still somewhat Work in progress here.

Configuring for your camera

Currently the program is targeting Canon EOS 400D What you'll need to look at are the config settings for your camera.

See here:

Also see the source of, where it says '## NOTE: Camera-specific settings here ##'

File list

Here's what you should find in the box.

1x each of the following: # MAIN PROGRAM # Simulator script used when testing, activated by running with --sim

hookscripts/ # Optional contributed hookscripts			# Preview last image taken in a window which won't pop to top each time. # Simple image or video preview program. # Glade resource file for above. # THIS FILE