PTP digital camera control

Woohoo – just uploaded some more of my archived code to a new project at This time it is my python PTP support library.

Whats so good about this? Well, many digital cameras support the Picture Transfer Protocol (PTP). This is ostensibly for multimedia devices to exchange picture data, but also provides a standard for controlling much of a digital camera over the USB bus. Specifically, Nikon cameras implement a great deal of this specification, and provide numerous useful extensions.

I actually developed this library a while ago, and then archived it. However, I’m feeling more like doing stuff with it, so here is my first new script: HDRCapture. This script interrogates the attached PTP device for all supported F-stops, then automatically takes a picture at each. Very handy for automating image aqcuisition for HDRing.

There is a massive amount of possibility with this. For example it is possible to read the current light level from the camera: writing an automated script triggered by light level is incredibly easy.

I’m going to be running this on my Eeepc for the moment, since it is fairly portable, but also has a keyboard for onsite debugging/cutomisation. Eventually, I’d see it as an application running on a tiny linux device, such as the N770.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: