Sorry, no LiveView — but here is a thought

I’m afraid I’m probably not going to be able to support Nikon LiveView in CameraControl. It isn’t available via PTP or WIA but only via the Nikon SDK which I don’t have access to (and probably couldn’t program even if I could).

However here’s an great thought to get a similiar experience – at least in a studio situation.

Basically use the video out of the camera to to send to another monitor, while at the same time also tethering.

I haven’t tried this — nor I suspect has the person suggesting it — but it sounds like it would be good, presuming you have the two monitors required.

Tethering unplugged

So exactly what should happen if you are in the middle of a tethered – via usb cable – shoot and someone trips over the wire?

First, it shouldn’t rip the cable out of the camera and damage the usb connector on either camera or computer.

To that end it helps to put some sort of knot or fastening at both ends so the strain will not be taken by the USB connectors.   For the camera end it probably makes sense to attach to the camera strap or perhaps a tripod head plate, while on the PC end it may be as simple as clamping to the table.

But what if a really big pull is made on the cable?  In that case it is better the cable comes unplugged — so that’s a good reason to use a two part cable — USB extender plus cable — so that it can basically just come unplugged in the centre.

Ok so that’s the physical part, but what about the software.  How should the software respond?

I recently learned that Nikon CameraControl Pro 2 — which I have never tried — causes images taken during a tethered session to only be saved to the PC, not to the camera as well.  I’m quite amazed by that actually — when designing Camera Control I deliberately made the decision that the images would be in BOTH locations — it seems like an obvious backup.  In fact I’m a little concerned that it is saved in only a single location on the PC and I’ll be adding features (eventually!) that allow the images to be instantly backed up to another location such as an external drive, file server, or maybe even an internet service — imagine tethering directly to Flickr!

Anyway, the point is what happens when you realize the cable is unplugged and plug it in again?

1. Nothing happens — you have to restart the software 

This is typical it seems, that’s what my script does

2. The software notices the camera is gone and waits for it

And when it is plugged in it downloads any new images that were taken while it was unplugged

I think #2 makes a lot more sense don’t you?  It doesn’t sound that hard.  Ok when you plug in the camera again the annoying choice thing pops up but you can (I think) ignore that.  Or maybe I can look for it and send a Cancle to it.  Then the script can see the camera is back — look for any new images, download them, then go back to what it was doing before.

Ok sounds like a plan — or can you suggest an alternative, or maybe some options that would make sense?  I’m all ears.

What works and doesn’t work

This is a summary of what Nikon DSLR models have been seen working, or not working, with the script.

DIYPhotobits Camera Control 2.1 – Greens (updated with feedback upto 5.2)
XP Vista / Win7
D300 Yes
D40 Yes Yes (vista home, raw works)Yes (vista, raw ok)
D80 Yes No
D50 No
D200 / Fuji S5 Almost
PartialYes, Win7, jpg only
D60 Yes Yes
D70 / 70s – yes Yes Yes (win7 32bit) but no mode changeYes (vista)

Yes (vista, jpg only)

D90 – yes /w issues Yes
D3 – yes
D2x – yes
D100 — nobody has this working yet, I think (not sure) it may be impossible due to it not fully supporting ptpD1 – No
D5000 Yes
D3000 YesYes
D80 – yes with 1.01 firmware, no with 1.11 firmware No (64bit Win7)
D300s – yes
D700  yes Yes (64bit Win7)Yes Win7 jpg only
D3100  Yes
D3200  Yes
D3000 Yes
D800/D800E  No
D7000 Yes
D5100 Yes

As you can see it is quite a mixed bag – I’d love to hear more input on what works and doesn’t work.

Free Tethered Shooting for Linux

This is not mine and I haven’t tried it but I appreciate the nice simple approach, perhaps because it is like mine, of a script wrapper around some standard functionality.

See this post where appollux explains the scripting necessary to get tethered shooting working on Linux, or probably any similiar *nix system.

It really makes me want to go ahead and implement some more interesting features now that the basics are taken care of for most people.  But first I really have to do that bamboo monopole — I suffer from terrible handshake it seems.

Does the tethered Shooting script work for Canon, Olympus, Pentax, Sony, Panasonic etc etc

A lot of people ask and I don’t know — it probably does work as it is using a standard Windows way of talking to the camera — WIA — but I don’t have the hardware to test it.

If a camera supports a “PTP” or “MTP” mode — and if when plugged into a PC it is visible in My Computer under the section for Scanners and Cameras

 (not as a removable disk drive) then it is liable to work.  The only big gotcha I can see is that some cameras — all the P&S I’ve tried — will not let me press the shutter button while they are plugged into the PC.  It seems that ability is a DSLR thing.

So, if you happen to have a non-Nikon DSLR handy and don’t mind spending a few minutes testing I’d be delighted to hear whether this script works for you.  Obviously for Canon users it’s beside the point as proper remote control software is included with the camera — but it is still technically interesting.

If you get any results please leave me a comment, many thanks!

Tethered Shooting Script — a HOWTO Video

Since I first posted my free script that allows Nikon DSLRs to be shot tethered I’ve been very pleased with the response, it seems to have been helpful to many people.  However I’ve hardly been very good at documenting how to use it.  So in an attempt to fix that I’ve made this little video which shows how to use it.

Or view high quality YouTube version

This is my first video attempt so it is pretty basic — but it took me all afternoon to put together, so please excuse the rough edges.  Hopefully I’ll work out how to do this better and perhaps make some videos explaining my hardware DIY projects which would also benefit from this type of explanation.

If you’re not sure about tethered shooting then ProPhotoLife has just released a great video

, as usual, explaining all about it – using Canon as an example.  I particularly like his safety tips regarding long USB cables.

The Self Portrait script

Update: This is now obsolete, use instead the Camera Control 1.0 application.

Also called the “Tethered Remote Bridge” script this addition to my scripting library lets me remotely release the shutter on my D300 or D40, while tethered via USB to my Windows PC.  Then the image is downloaded and displayed in Adobe Bridge within 3-4 seconds.

DOWNLOAD (New version) – Gives you RAW or JPG choice

DOWNLOAD (Old version) – JPG only

It’s a combination of the prior scripts I’ve written so nothing very new to explain.

I am going to be using it while working on my “strobist” portrait skills.  As I don’t have a model I’m stuck with doing self-portraits and I want to sit in my chair and trigger the camera and see the results all without getting up.

Yes I know I still have to work to adjust lights and such but it is still sure to be less back-and-forth between camera and seat now!

How fast is tethered shooting on a Windows PC?

I was thinking about this after reading Terry White’s post about the topic, though he is more interested in Mac vs PC (or Mac vs Windows really).  Interestingly he was able to do a Mac vs Windows test on the same hardware which of course makes it much more valid test.  The interesting conclusion is that the Camera-to-Lightroom total speed is almost identical, though the download vs import speed varies a lot.

A lot of the time taken up is in Lightroom which I have not tried so far, I’m still using Adobe Bridge to view my JPG and RAW (NEF) files.  That’s why I did a version of my tethered shooting script that is optimized for Bridge – which is to say it sends a keypress to bridge to advance to the most recent frame.

Testing with my configuration showed that the total time of camera-to-bridge was averaging slightly less than 3 seconds.  I did these tests with my D40 shooting raw – so that’s a 5mb file, via a USB2 hub connected to a fast but rather old Dell PC.  I’ll try it again later with the D300 which has the larger files to see how much difference there is; not a lot I suspect based on previous un-timed test.

In Terry’s tests the CCP2 import under Windows took 3.2 seconds, which is similar to my script, but then the import into Lightroom took 8 seconds – I believe Bridge is showing images much faster.  Of course the intial view it gives you is a preview but it’s normally less than a second for it to render a high quality view.

Does all this make much difference?  Not if you are doing product shots I think, but if you are shooting models then shaving seconds off each shot would be good I think.

Conclusion?  If speed is important shoot into a temp folder and use Bridge to view as you go, then import later when you are done.

PS: Still need to upload my Tethered Remote Bridge script — aka the self-portrait script!

Free Tethered Shooting Script for Nikon

Update: This version is now obsolete,

download latest from here .

Update: The With Bridge version provides almost instant image viewing in Adobe Bridge without any keypresses.  If you use Bridge instead of Adobe Lightroom then download that version.  I’ve also made a video to show how to use this script.

If you’ve been keeping up with the blogs of various big photography bloggers out there you’ll certainly have been seeing quite a bit about tethered shooting recently. Not that it is a revolution or anything, but it certainly is a help to be able to see your images immediately on a big screen — and that doesn’t just go for those with failing eye-sight but basically the images you see on the LCD at the back of your camera are only the jpg preview, not the RAW (should you be shooting raw).

Even if you are shooting jpg just having to view them on such a tiny screen really makes it hard to tell if they are sharp or perhaps shaded as you are hoping. Sucking them right into your PC seems just so logical.

If you are a Canon shooter then no issue – the software comes with the camera (so I’m told).

If you are a Nikon shooter then it gets a little more difficult. If you are a Mac user you could use Aperture, but for Windows you seem to be stuck with Nikon Camera Control Pro. That’s a $160 or so software which does a lot more than just tethered shooting, but is probably overkill if like me you are a hobbiest just messing around.

So in true geeky DIY mode I thought it can’t be that hard to write a script that sucks pictures out of a USB connected camera and saves them onto the PC. And after a little poking around I find that actually it’s true, it isn’t that hard.

The thing that makes it practical is that most of what you need is built into Windows, another chunk comes as a standard optional microsoft download, such that the glue you need to pull it all together is just a few lines of code.

Part 1 is Windows Image Acquisition (WIA) – that’s built in

Part 2 is WIA Automation Layer

– a free download from Microsoft for Windows XP SP2 or higher

Part 3 is a script to tie it all together – which I present here


This is now obsolete, use instead the free Camera Control 4.0



  • Windows XP SP2 or higher
  • A Nikon DSLR (D40, D60, D200 and D300 tested ok)
  • USB cable


Well nothing really, just unzip it and put it in a folder anywhere — I suggest c:\program files\tethered but anywhere would do.


  1. Empty your camera card — that’s optional but a good start for reasons that will be apparent later
  2. Plug your camera in via USB — you should make sure USB in your menus is set to PTP
  3. If your PC pops up one of those windows wanting to download stuff, just cancle it
  4. Run “tethered.cmd” by double clicking on it
  5. Open your image viewer of choice – I use Bridge – and set it to look in the c:\tethered folder.  If you are using Lightroom then you’d want to set that to be a watched folder.
  6. You are now ready to start shooting.  Anything you shoot will turn into a file in a folder called c:\tethered within a second of you completing the exposure
  7. When you are done just close the Tethered window.


  • All your images are also stored on your memory card so you have a backup without using a D3 and two cards
  • If you shoot more than 1000 images in one session it is liable to give an error as the filenames wrap around.  That’s why it is good to empty your memory card first so that you are starting at file number 000.
  • I’ve tested this with a Nikon D40 and it works fine, in theory it should work with any WIA compatible camera but the other Point and Shoot ones I have refuse to take pictures while the USB cable is connected so I can’t test them.  I’d be very pleased to hear from those of you who have tried it on other cameras and if it worked or not.
  • If you want the images stored somewhere other than c:\tethered then edit the .wsf file to change the location