New Media Initiatives Blog

Technology at the Walker Art Center

Part of: blogs.walkerart.org

 
by Justin Heideman at 4:55 pm 2006-09-25
Filed under:

For an upcoming project, we want to capture high resolution digital still images onto a computer from a camera. This is a technique used quite often in stop motion animation. A digital still camera is a very inexpensive way to capture images that are many, many times higher resolution than the HD video they will eventually be a part of. A simple method would be to capture a large amount of images onto a camera’s storage card, download them, and them import and compose them in a compositing program such as After Effects.

However, for this project, we need the image capture to be triggered not by the button on the camera, but by the computer the camera is connected to. I initially looked at both FrameTheif and iStopMotion because they support digital still cameras and have an applescript library. However, both have spotty support for remote capture and would want to grab onto any other cameras connected to the system (such as a dv cam). Eventually, I found the gphoto project on sourceforge.

Gphoto is an offshoot of an earlier project and is intended for linux users who want a way to download images from their camera to their computer. Evidently, there isn’t or hasn’t always been a standard for this kind of thing. Most cameras today use the ptp protocol to transfer images, but my research indicates that support for all but the most basic features of the ptp protocol are horribly broken on many cameras. Canon cameras have their own protocol that many of the people working on the gphoto project have reverse engineered. Thankfully, the 10D, which I’m using, is old enough to have some support. Oddly enough, the Canon supplied remote capture application doesn’t work in OS X 10.4.

An OS X version of gphoto can be found in DarwinPorts. The version on the project page does not, though there is some talk on the gphoto-devel list that it could sort-of work. While I was looking into this, I got some help from Paweł Szczęsny who posted about gphoto2 on OSX on his Night Photography Blog.

Using gphoto, I can capture using the –capture-image command. However, the command times out after the shot is taken. I think it is supposed to download the image or at least stop, but it does not seem to do anything. Using a small shell script wrapper, the capture can be triggered, communication with the camera aborted, and the new image downloaded from the card. I’ve posted my hack of a script below:

#!/bin/sh
gphoto2 --capture-image --quiet &
JOBNUM=`ps auxww | grep gphoto | grep -v grep | awk '{print $2}'`
sleep 8
kill $JOBNUM
sleep 2
gphoto2 -P --new
exit 0
Clearly, the shell script is horrible kludge. It won’t deal with any kind of errors at all. I am triggering it under very controlled circumstances, so it will work fine for my purposes.

In a future entry, I’ll talk about how I’m using this and what other applications glue it all together.

 

8 Comments

  1. …as the guy in the cube behind Justin, I just have to add that it’s been a creepy few days, what with a camera flash going off randomly as he tests. It’s like the paparazzi have finally found me!

    Comment by Nate — 9/26/2006 @ 8:40 am

  2. Use timeout to help improve the kludge.
    Call it like this: timeout -9 2 gphoto2 –capture-image –quiet
    That will run the command and give it 2 seconds to complete then kill it off.

    Comment by Jeff — 9/28/2006 @ 5:19 pm

  3. If only I had something like that a few years ago it would have saved me so many Applescript headaches.

    Comment by Eric — 10/1/2006 @ 7:34 pm

  4. […] Announcing Party People Photos with full setup details, shots of the QC and Jitter patches Still images triggered by a computer via gphoto h.264 QT movie of the results […]

    Pingback by Create Digital Motion » Party People Photos Installation at Walker Takes Automated Snaps of Partygoers; Behind-the-Scenes Details — 11/2/2006 @ 1:32 am

  5. nice job jusin–looks like i left mpls too early.

    Comment by niknaz — 11/12/2006 @ 7:22 pm

  6. I’m trying to find a solution for Remote Capture using my Canon A700 with my Mac laptop. Canons remote capture software doesn’t work with the A700.

    Does anyone know of an alternative that has a GUI?

    Regards

    Phill

    Comment by Phill — 12/17/2006 @ 6:49 pm

  7. Hello,

    Does anyone have an app’ / hack I can install on the SD600 to get remote capture support ?

    (I don’t know what to do with just a block of code - need a self installer or clear instructions).

    **************************************************

    My original Canon Powershot Digital Elph SD100 that worked great with REMOTE CAPTURE on my 12″ G4 Powerbook and OS X 10.4 went black - censor disconnect flaw. Canon replaced it with an SD600 but NO REMOTE CAPTURE SUPPORT. GOTTA HAVE IT for my classroom workflow — very hectic.

    ************************************************
    Any similarly priced ($200) camera ?
    ************************************************

    Thanks !

    —gooddog

    Comment by gooddog — 2/1/2007 @ 5:35 pm

  8. I had mixed results with a Canon G5 during testing. I suggest you consult this chart, which lists some of the controllable cameras. Perhaps looking for an older, discontinued camera on eBay that is known to work would be good.

    There is also Canon Remote Capture, which also gave me mixed results. I was looking for something scriptable, and this application is not. However, if you don’t need that, it might work.

    Comment by Justin Heideman — 2/5/2007 @ 1:13 pm

Leave a comment:





You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Keep up to date:

With an RSS feed for this post's comments. If you leave a comment you may subscribe to comment notification emails.


Powered by WordPress