Tuesday, April 24, 2012

LinuxFest 2012 Presentation

Using GLOSS (that's Gratis & Libre Open Source Software) tools on your favorite Linux distro, some creative and fun techniques can be applied to your next photography session. Follow this guide to learn how you can create time lapse photo sequences where time flies and snails become race horses. This guide assumes you know which linux distribution you are using and how to open and use a terminal emulator. This guide has been tested with Mint 9 Isadora and should work with most Ubuntu based distros using the Gnome desktop.

Here's a list of stuff you'll need:
  • A digital camera supported by the gphoto2 software suite
  • A computer with available USB port
  • Your imagination (and willing subjects)
Here's a list of the GLOSS tools we'll be using:
  • gphoto2 - a command line tool for controlling a wide variety of cameras via the USB port on your computer
  • ffmpeg - a command line tool we'll use for creating video from captured still images
  • yad - gtk based gui for running shell scripts
  • gphoto-scripts - bash shell wrapper scripts; one GUI based, the other command line

Software Installation
Packages for these tools may be available in your distro's repository. If your installation preference is a GUI, then by all means use System > Administration > Synaptic Package Manager and choose the gphoto2 and ffmpeg packages. For command line jockeys, the following commands will install the tools from the Mint or Ubuntu repositories. If your distro is something other than debian based, replace the apt commands with your specific distro's package management tool:

Install camera control and multimedia encoding software
Copy this line & paste into terminal
sudo apt-get install gphoto2 ffmpeg

The GUI dialog builder, yad, is too new to be available in most distros. Consequently, we'll have to add a ppa to our list of trusted software sources.

Add the WebUpd8 team PPA
Copy this line & paste into terminal
sudo add-apt-repository ppa:webupd8team/y-ppa-manager

Update the software sources list
Copy this line & paste into terminal
sudo apt-get update

Finally, install yad
Copy this line & paste into terminal
sudo apt-get install -y yad

Create a project tree
If you already have a project directory structure you'd like to use, feel free, just skip this step but realize that you'll need to edit the soon to be downloaded scripts' PROJ_TREE variable to reflect that.
Copy this line & paste into terminal
mkdir -p ~/Projects/RemCam/{logs,pics,scripts,vids}

Navigate to the scripts folder in the project tree
Copy this line & paste into terminal
cd ~/Projects/RemCam/scripts/

Download the remote control scripts
Click here or
Copy this line and paste into browser
then Download to the Projects/RemCam/scripts folder just created or to another of your choice.

Untar the scripts
Copy this line & paste into terminal
tar -xzvf gphoto-scripts.tgz

Make the scripts executable
chmod +x RemoteCapture* timelapse_cli.sh

Move the launcher to the local applications directory
Copy this line & paste into terminal
mv ~/Projects/RemCam/scripts/RemoteCapture.desktop ~/.local/share/applications/

Place a launcher onto the desktop
Copy this line & paste into terminal
ln -s ~/.local/share/applications/RemoteCapture.desktop ~/Desktop/

Now that the software is installed, let's get to the fun part!

Ensure your camera's photos have been downloaded and erased. For your first attempt at time lapse, use a simple subject that has some motion. A clock with a sweep second hand works well (yes, they still exist, I picked mine up at the thrift store!). Mount the camera on a tripod or otherwise ensure it has a stable platform from which to shoot. Power down the camera, connect the USB cable between camera and computer, then power up the camera. If a dialog pops up asking you to download photos, click the Unmount button.

Find the desktop icon you just copied to your desktop (it's named Remote Capture) and double-click. A dialog looking like this should pop up:

Enter values for the time between shutter releases (interval) and the number of frames you wish to capture. For a clock, 5 seconds for the interval and 60 frames will give a pleasant looking 6 second time lapse video when encoded at 10 frames/second. Play with the settings for your particular subject such that a coherent video is created. Other good subjects are quickly moving clouds, birds at a feeder, a busy intersection or moving crowds of people.

Problems with the installation or camera control? Leave a comment and I'll try to help you get things working properly. Success with Remote Capture? Leave a comment and post your time lapse video to YouTube after joining the geephoto group.

If you enjoyed this post or otherwise got some value from it, consider subscribing to the blog, and Like, Tweet or Plus it. I'll be adding features to the Remote Capture application, so subscribing will allow you to keep up with the changes.
Also consider joining the group of gphoto2 remote camera control enthusiasts at geephoto.

Oh, and check out the ultra-short LinuxFest Northwest 2012 time lapse video.

1 comment:

  1. Thanks for review, it was excellent and very informative.
    thank you :)