Image capture as interval timer

Hello. I’m a complete newbie to both scripting and automator. I understand Image capture can be used to fire my stills camera (Nikon D200) and it then downloads the picture to my mac.

Is it possible to make image capture fire the shutter, but for storage to be local, ie to the camera’s memory card? and if it is, does anyone know how to make an interval timer script? I need to specify only the interval down to the nearest second, it doesn’t need any fancy camera controls :slight_smile:

A bit of background: I’m shooting a time-lapse film next week of the London-Brighton train journey, from the cab. I’d normally use the built-in intervalometer but it only shoots up to 999 frames. I need approx 3200 - one per second for a 53-minute journey. I’ve got Nikon capture, which will act as an interval timer, but only stores on the computer. At the framesize I need (1936x1280 to make HD) and over USB2, it takes about three seconds to download a picture.

Many thanks in advance

Robbie Allen

Image Capture isn’t scriptable.
Automator has an Action to “Take Picture”, but it also downloads the picture.
Image Events doesn’t have a “Take Picture” or anything to control the camera.

So… I am downloading the Nikon Capture application and will see what can be done with it. There are several threads in this forum (search for “Image Capture”) which indicate people having trouble scripting that thing, but I will give it a shot!

More later…


OK I installed the Nikon software. It does have a dictionary, and I do not get an error on this script:

tell application "Nikon Capture Editor"
end tell

But of course I can’t test it.

If it does not work, then the next approach would be to try and GUI script it. But I can’t get to the button for taking the picture, because I don’t have the camera. So you may need to post some screenshots and use a GUI browser of some sort to find out what to click.

But try that script first. If it works, all you’ll need to do is add an “on idle” handler to make it fire once per second. The OS can’t be used for this (cron or launchd) as they only check for events once per minute.

Actually, looking at the Nikon Capture Control help pages, it appears that the camera can be set to take images at intervals of one second as long as you want. If that works, you don’t even need to script anything.

This is in Nikon Capture 4.4.0 .

Select “Time Lapse Photography”

Select one second as the interval.

Select “Keep Shooting Until Cancelled”

Thanks a lot for your help Johnny.

I know Nikon Capture can take a shot every second, but that’s only theoretical - because it doesn’t give the option to store on the card, and it takes 3 seconds over USB2 to get the image onto the HD - therefore the minimum actual interval is 3 seconds. That’s why I want to store direct on the camera - the write speed is about 1/5 second, instead of 3 seconds. I’ve done this with a canon before (and 3rd party software, as Canon Capture only goes down to 5 seconds) and I seem to recall a 2-second interval worked fine for 5 hours continuous shooting.

Would it be possible to shoot once per second, and download every third picture or does that tie up the software?

Well, if the camera has no option in Time Lapse mode to just save to the internal card, then I think there is no solution. That sounds extremely bizarre, though. Can the camera be set to Time Lapse just from its own menus, or does that require a computer connection? And if so, then it HAS to save to the internal card, as no computer would be attached. I can’t understand why they would make a big deal out of being able to set the interval to one second if it can’t actually do it.

Well my experience is that NC works in a linear fashion, ie: take photo:download photo:take next photo, so when asked to shoot 1 per second, it simply does the ‘best it can’, ie one per 3 seconds.

The built-in intervalometer does go through the menus, and will ONLY write to its own card; what’s really frustrating is: how difficult would it have been to make the maximum number of shots 9999 (or even 99999) instead of 999?

I think the software version (nikon capture) goes down to 1 second because in certain circumstances it will manage that - it works with a range of cameras, some of which wiill produce smaller image sizes or have faster transfer methods (ie firewire).

The documentation for the software DOES say 9999. Is it possible there is a firmware update for the camera?

The only verb that I found, though, in the AS dictionary was takepicture. If there were a “start timelapse” command that could be repeated.

OK I’m going to look into firmware updates because it’s definitely only 999 here - though at every interval, it will shoot up to 9 exposures (all at once at max speed, ie 5fps),so it’ll actually write up to 9992 shots…