Time-lapse interval less then 1s

Started by Dunc101, October 03, 2013, 05:34:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dunc101

Hi,

Is it possible to start a time lapse and record 2 or 3 frames per second at constant intervals?
I could change the Intervalometer code so it gave you the options for 0.33, 0.25 and 0.5s it may work?
Any thoughts?

Cheers
D



dmilligan

Yes, if you wanted to change the code go right ahead, it would probably work. You'd have to do a lot more than just add some options though, you'd actually have to implement them. Currently the intervalometer uses an integer number of seconds, so you'd have to refactor a lot of code and use milliseconds or something. Remember that something like 4fps is going to be pushing the limitations of a lot of the slower cameras, and I imagine that something this fast is going to be hard to get acurate timing on.

Why not just use fps override? Even on cameras with slow card readers you should still be able to shoot pretty high resolution RAW at a low fps.

IMO the longer the interval period the more interesting the timelapse is itself b/c the more time is lapsing. As a general rule I don't like to go below 15s.

wolf

You could fetch an older ML with PicoC support and write a little script if you don't want to use fps override.

Dunc101

Thanks very much guys for your reply.

* dmilligan - With FPS override I can only seem to shoot video, can I shot RAW stills?

I am happy with using the older version.
I am only capable of small changes in code, how would you recommend changing the old version * wolf?

I am hoping to get 2 or max 3 RAW frames per second on a really bright day using stills mode, rather than video.
The benefit of this is that you can do really nice moves in post.
I would need the interval to be accurate like it it is with the intervalometer, so I thought 0.5, 0.25 and 0.33 milli seconds might work?

Any ideas of how to do this?

Thanks
All the best

D

wolf


dmilligan

I was talking about RAW video with fps override. If you're panning a lot in post this might not be high enough resolution for you.

IDK how acurate of timing you can get with a script.

Why exactly do you want such a short interval? How much real-time are you planning on capturing and how long do you want it to be when played back? Perhaps a better solution is to consider how you can use a longer interval period.

gerk.raisen

Hello Dunc101,

I have requested the same some times ago here:

http://www.magiclantern.fm/forum/index.php?topic=6724.msg54793#msg54793

As you can see in the old thread I tried some very basic changes but it seems a little too complicated for my none code skill abilities.
Maybe now a good soul can help us for moving intervalometer from second to millisecond word :) :)
From what I understood from A1lex response it not seems very hard
Anyone offering help? ;)

P.S. Using raw_rec with FPS override isn't the same, you can't save full res photos :(





fcpk

+1 to this, timelapse at higher speed could be extremely useful(and since raw_rec can't go full raw res it's not good enough)

For example when doing focus stacking of objects that move slightly(and so everything must be taken fast)

Dunc101

Thats great, I think this feature would be very useful for city time lapses.
Is anyone keen to implement it onto a moderately stable build?

Cheers
D

dmilligan

If I have some time I'll work on it. While I'm not as concered about high speed timelapses (which is sort of an oxymoron), I would like to modify the way selecting interval period works (I don't like how you can't select certain periods once the time starts getting large, i.e. I can't select 37s, only 35 or 40), which would require refactoring the same code, so I might as well imlpement it while I'm at it.
Quote from: Dunc101 on October 09, 2013, 02:12:16 PM
... implement it onto a moderately stable build?
If it is implemented, it will be on the latest tip of the repository, though, not some older build. Pull requests must be made against the current state of the repository, not some point in the past.

Quote from: fcpk on October 06, 2013, 03:00:41 AM
For example when doing focus stacking of objects that move slightly(and so everything must be taken fast)

I think the actual process of focusing is going to be the limiting factor here. ML has to use LV to move the focus and it's not very fast (at least on my 60D). Also, is acurate timing critical for this application? If not, you don't really need the intervalometer for this. You just want all the pictures to be taken as fast as possible, so just use the 'like crazy' mode that already exists.

TakeTheShot

ACTUALLY....

Thank you for pointing this out. I'm going to do the exact opposite of what you want. Now, I want to change the defaults so people cannot easily/accidentally do this. It used to be that ML and even CHDK were only used by a few hundred geeks; most casual users and pros who can't afford downtime get a bit fearful when the disclaimer says that not only can it brick your camera, hey this beta can even brick your SD card (and we don't know why!)" :^)

I am going to modify the intervalometer code so that, if you set an interval less than one minute, then you *MUST* specify a duration.
And if you try to set it to 3s, 2s, 1s, or like crazy, it will require you to click a "yes I'm sure!", a separate menu choice.
(and further, it will write an immutable file at the top of every 1xxCANON directory that says 00-THIS CAMERA HAS BEEN ABUSED!-00)

As for the code changes you wish to make, yes, it should be trivial to do, although as was said you'll need to refactor some code. ('trivial' as in hard thinking... it still requires the time and effort.) Not just focusing that will be a limiting factor. Manual Focus only, or pre-focus (ie. you have to have moved focus to the back button and off the main shutter.)

You say you want an accurate interval though, so you are also going to have to either code some sanity checking for the exposure duration, or just a disclaimer on the menu to remind yourself your exposure is longer than XX the camera cannot keep up. For 3fps you probably want to keep your whole process shutter-to-shutter under 200ms for a reliable interval, Which means nearly any sane exposure will be fine. You should be able to pull off three 1/4s shots in a second. To even the slowest microprocessor, 250mS is like months. (although that 1/4s thing is a guess.) And you know SD card sustained write speed is really going to matter too.

Here. Why not just test it beforehand. Download and install Phil Harvey's ExifTool Perl script. It's one of the few utilities that exposes the SubSecTimeOriginal EXIF data. Then take a few bursts of images and copy them over, or find a set you know were burst...


find /path/to/your/images -name \*.CR2 -print0 | \
xargs -0 exiftool -T -FileName -ISO -ShutterSpeed -Aperture -SubSecDateTimeOriginal

20131017_IMG_0829.CR2 100 1/640 8.0 2013:03:10 16:17:49.95
20131017_IMG_0830.CR2 100 1/640 8.0 2013:03:10 16:17:50.14
20131017_IMG_0831.CR2 100 1/640 8.0 2013:03:10 16:17:50.33
20131017_IMG_0832.CR2 100 1/640 8.0 2013:03:10 16:17:50.52


base, +19ms, +19ms, +19ms... With a shutter speed of 1.5mS, so it looks like the overhead is very minimal.
(This is on the currently fastest card, 95M/sec Extreme Pro UHS-1 64G, which is waaay beyond the write capability of a 60D.)

(For Windows, using ExifTool is a bit different, you have to rename exiftool to be able to use it from the command line, or you can just drag-n-drop images on it and manually look for the "Date/Time Original" field. (there will be two - one with millisecond data, one without.)

You shouldn't have any problems, but please, remember what you are asking. A 3/fps intervalometer is 5400 mirror activations per hour. Luckily the battery will die quickly. And it might shut the camera down, with this duty cycle. So try to not put +100k shutter count on your camera over the weekend. Canon Inc. tolerates CHDK & ML, but if they were to start getting dozens of damaged cameras...

Quote from: fcpk on October 06, 2013, 03:00:41 AM
+1 to this, timelapse at higher speed could be extremely useful(and since raw_rec can't go full raw res it's not good enough)

For example when doing focus stacking of objects that move slightly(and so everything must be taken fast)

For your example, unnecessary. Just set it to fire multiple times under Shoot Preferences. Actually there's multiple ways to do this with ML.


Quote from: Dunc101 on October 09, 2013, 02:12:16 PM
Thats great, I think this feature would be very useful for city time lapses.
Is anyone keen to implement it onto a moderately stable build?

Already exists. And from what I tested above, it's already got an extremely repeatable interval. Just set to "like crazy" and it'll fire as fast as it can, as if you are holding down the shutter button.

dmilligan

Whoa, chill out my babies.  8)

Quote from: TakeTheShot on October 17, 2013, 11:12:57 PM
I am going to modify the intervalometer code so that, if you set an interval less than one minute, then you *MUST* specify a duration.
And if you try to set it to 3s, 2s, 1s, or like crazy, it will require you to click a "yes I'm sure!", a separate menu choice.
(and further, it will write an immutable file at the top of every 1xxCANON directory that says 00-THIS CAMERA HAS BEEN ABUSED!-00)
Yeah, uh good look with that. The filesystem is 8.3, so I think you're going to have to say 00ABUSED.CAM or something. Not sure what you mean by immutable file, last time I checked there was no such thing. Personally, I'd be pretty pissed if ML did this.

Quote from: TakeTheShot on October 17, 2013, 11:12:57 PM
You say you want an accurate interval though, so you are also going to have to either code some sanity checking for the exposure duration, or just a disclaimer on the menu to remind yourself your exposure is longer than XX the camera cannot keep up.
Yes, actually ML already has a warning in place b/c sometimes even 1fps is to fast. It'll say "Jitter" if it thinks the timing wont be accurate.

Quote from: TakeTheShot on October 17, 2013, 11:12:57 PM
blah blah blah exiftool blah blah blah
is pretty much all I got from the rest of that...


Joachim Buambeki

I already put up a request a while ago for such a feature.
It is not so much about having the possibility to shoot intervals of less than a second (though there are definatelly uses for intervals that short!), but to have finer granularity for the interval.
Beeing able to choose 1.5 sec instead of 1 or 2 makes a tremendous diference for example (no, I don't want to speed it up in post - you never get the same quality when fixing stuff you should have taken care of while shooting).


wolf

You could trigger your camera externally with ptpcam.   


Joachim Buambeki

Thanks for the suggestion, I just googled it, that is a software that runs on my laptop?! I will never use a laptop on a shot again, I had too much trouble with those things in the past and I am done with that.
I already have an external intervalometer that can do that and should get a new one that goes way beyond that soon, but it would be nice to have that in camera aswell.

gerk.raisen

Thank you TakeTheShot for your perfect analysis.

I understood the doubts but I often was in a situation where it can be very useful have it.
I agree with you it can be a good idea to have some simple sanity check to have the interval time not smaller than exposition time.
Also the problem of having a lot of shutter actuation is true only with long interval, but you encounter the writing speed problem as soon the memory buffer is full and write speed on SD in not enough not even for 1 full frame/sec in RAW (at least on my 60D)
In my case I just plan to use for a small shoots of only some seconds.
I agree with Joachim Buambeki to have a finer granularity for the interval for over one second intervals (like 1.5 or 2.5 sec)

I hope you can help us, I already tried before but unfortunately it's over my knowledge.
Thank you in advance.