Extra delay script for intervalometer

Started by surami, February 16, 2021, 09:20:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

surami

Hi guys!

I would like to run a script, which would be enabled when the picture is taken with the intervalometer and the AutoETTR module is also in use. The idea is to force a delay (2-4 seconds) between the shots independently from interval time. I would like to use this gap for pan/tilt motion.

Could you please help me out for updating the previous script, that was this one. It's not working anymore on the latest nightly for 550D.
force_delay_menu = menu.new
{
parent = "Intervalometer",
name = "Force Delay",
help = "Add an extra delay to each interval",
min = 0,
max = 300,
unit = UNIT.TIME,
}

events =
{
intervalometer = function() msleep(force_delay_menu.value * 1000) return true end
}
550D + nightly ML

garry23


surami

Sorry, I copied the wrong code, so this is the latest, what I used:
force_delay_menu = menu.new
{
parent = "Intervalometer",
name = "Force Delay",
help = "Add an extra delay to each interval",
min = 0,
max = 300,
unit = UNIT.TIME,
}

event.intervalometer = function(count) msleep(force_delay_menu.value * 1000) return true end
550D + nightly ML

garry23


surami

If I set the interval to 5s and the force delay to 3s, there isn't 3s extra gap before the next shot, so the shot happens at the 5th second instead of at the 8th second.
550D + nightly ML

garry23

I tried the script on my 5D3 and all looks ok.

Are you running the latest Lua fix version for your Cam?


a1ex

Quote from: surami on February 18, 2021, 08:47:14 AM
If I set the interval to 5s and the force delay to 3s, there isn't 3s extra gap before the next shot, so the shot happens at the 5th second instead of at the 8th second.

That's how the intervalometer works - "Take a picture every 5s" means just that, regardless of how long it might take to capture a picture (plus any extra delays you might have set in the script). As long as that total time (image capture time + extra delays) doesn't exceed 5 seconds, of course.

Just like when recording video e.g. at 25 fps, the frame rate is constant, regardless of the exposure time you use for each frame, or whether you change the shutter speed while recording.

You may want to set the intervalometer to 8 seconds and to limit the exposure time to 5 seconds (e.g. from AutoETTR menu). That way, you'll have an additional delay of 3 seconds out of the box, without any trickery.

BTW, if you set "Take a picture every 5s" and "Force Delay: 10s", a picture will be taken every - roughly - 10 seconds (actually every 10 seconds + time required to capture the image + a small overhead). So, the script works as expected, enforcing the minimum delay between two pictures to 10 seconds, no matter what. Obviously, in this case, the intervalometer won't be able to keep up with the requested frame rate of 1 picture every 5 seconds.

surami

Quote from: garry23 on February 18, 2021, 09:39:20 AM
I tried the script on my 5D3 and all looks ok.

Are you running the latest Lua fix version for your Cam?

I'm using the latest nightly vers. for 550D, 2018. Jul. 3, and that lua.mo what's inside the zip.
550D + nightly ML

garry23

Looks like your scripting is good, your Lua module is ok and, as @a1ex, explains, you 'just' need to adjust your workflow a bit  ;)

surami

Quote from: a1ex on February 18, 2021, 09:54:20 AM
BTW, if you set "Take a picture every 5s" and "Force Delay: 10s", a picture will be taken every - roughly - 10 seconds (actually every 10 seconds + time required to capture the image + a small overhead). So, the script works as expected, enforcing the minimum delay between two pictures to 10 seconds, no matter what. Obviously, in this case, the intervalometer won't be able to keep up with the requested frame rate of 1 picture every 5 seconds.

That's ok, but if I'm using a motion controller, what gets the signal after the exposure through to hotshoe port to move a pan/tilt head, then there will be a problem at shooting a day to night timelapse.

eg.:
AutoETTR always on, longest shutter 32s, max ISO 1600, fixed aparture 2.8 and interval 6s

As the exposure time exceeds the interval time there will be a problem, because ML would take a pic as quick as it can. I need the gap to have enough time for moving the pant/tilt head and enough time to chill the whole setup on the tripod.
550D + nightly ML

garry23

QuoteI need the gap to have enough time for moving the pant/tilt head and enough time to chill the whole setup on the tripod.

How about writing your own timelapse script?


a1ex

That might work. The intervalometer ramping module (adv_int) might be useful as well.

Quote from: surami on February 18, 2021, 06:43:15 PM
AutoETTR always on, longest shutter 32s, max ISO 1600, fixed aparture 2.8 and interval 6s

To maintain a constant frame rate during the timelapse, I'd suggest a fixed interval of about 35 seconds between 2 pictures. ETTR is not going to ramp the shutter speed nicely, so with the above settings, you'll end up with a sudden jump in the frame rate.

In this case, you will have at least 3 seconds delay between two exposures out of the box (without the script).

Quote from: surami on February 18, 2021, 06:43:15 PM
As the exposure time exceeds the interval time there will be a problem, because ML would take a pic as quick as it can. I need the gap to have enough time for moving the pant/tilt head and enough time to chill the whole setup on the tripod.

In this case, the script works as expected, by enforcing a minimum delay between two pictures (detailed answer in my earlier post). I have tested it on 5D3 with both lua_fix and regular builds. I don't know what kind of signal you get through the hotshoe port, though - is it a logic signal active during the entire exposure, or something else?

For further help, please provide more details:

Quote from: garry23 on February 17, 2021, 12:01:10 AM
And, what's not working ?

surami

Quote
How about writing your own timelapse script?

That is out of my kwonledge.

Quote from: a1ex on February 18, 2021, 07:15:42 PM
To maintain a constant frame rate during the timelapse, I'd suggest a fixed interval of about 35 seconds between 2 pictures. ETTR is not going to ramp the shutter speed nicely, so with the above settings, you'll end up with a sudden jump in the frame rate.

I know that there will be a jump in the frame rate, because of the differenct intervals, but in this case I don't care so much about it. But as you suggested, I will experiment with the adv_int.mo. The problem is that the sensor in the 550D isn't so sensitive at night and I don't want eg. 30s intervals during the day lights.

I made a day to night timelapse ealier, but without movements. Auto ETTR was always on, aperture was f5 and it ramped the exposure and ISO from 1/640s, ISO100 to 30s, ISO1600. Because of the different lightning situations the interval was ramping from 6s to 35s also. The AutoETTR did the job very well. I used thirdparty softwares to correct/smooth out the exposure jumps and finish the movie, you can read it in the description.



Quote
I don't know what kind of signal you get through the hotshoe port, though - is it a logic signal active during the entire exposure, or something else?

That's a good question, but I think the controller only gets a short trigger signal right after the exposure.
550D + nightly ML

surami

Quote from: garry23 on February 18, 2021, 09:39:20 AM
I tried the script on my 5D3 and all looks ok.

It means that eg. at interval 5s and force delay 2s you get a 7s long extended interval?
550D + nightly ML

a1ex

Quote from: surami on February 18, 2021, 08:17:26 PM
It means that eg. at interval 5s and force delay 2s you get a 7s long extended interval?

... if your exposure time is 5 seconds, yes.

The script only enforces a minimum delay of 2 seconds between two pictures (with the above settings). Nothing more, nothing less.

If you want to take a picture every 7 seconds, simply dial 7 seconds in the intervalometer menu ("Take a picture every 7 seconds").




BTW, when used together with intervalometer, AutoETTR will limit its maximum exposure time to intervalometer delay minus 2 seconds. This is in the AutoETTR help text, but only appears when you enable both options. This change was merged into mainline in early 2017.

In other words, your idea of taking a picture every 5 seconds, and extending the exposure time to 32 seconds when it gets dark, will not work out of the box - the only way would be to write a custom intervalometer script in Lua.

surami

Quote from: a1ex on February 18, 2021, 08:25:21 PM
... if your exposure time is 5 seconds, yes.

The script only enforces a minimum delay of 2 seconds between two pictures (with the above settings). Nothing more, nothing less.

If you want to take a picture every 7 seconds, simply dial 7 seconds in the intervalometer menu ("Take a picture every 7 seconds").

Now I got it working, but I only tested with a 30s exposure without AutoETTR.

In theory there is a 2s image review time for calculating the next settings, if AutoETTR is on or not? So this gap hopefully would be enough to trigger the controller for moving the pan/tilt head and chill a bit.
550D + nightly ML

surami

Quote
BTW, when used together with intervalometer, AutoETTR will limit its maximum exposure time to intervalometer delay minus 2 seconds. This is in the AutoETTR help text, but only appears when you enable both options. This change was merged into mainline in early 2017.

In other words, your idea of taking a picture every 5 seconds, and extending the exposure time to 32 seconds when it gets dark, will not work out of the box - the only way would be to write a custom intervalometer script in Lua.

That's not so good news for me now, so I have to use an older ML build in this case. I don't have enough coding knowledge to write a custom intervalometer script in Lua.
550D + nightly ML

garry23

@surami

One thought, that I haven't tested, and @a1ex may say won't work is that you dynamically change the intervalometer settings via the event functional call, ie use a menu.set call to change the take a picture every value to whatever number you want, ie as your TL progresses. 

Of course a1ex may say this won't work, but it's a thought, unless resetting the take a picture every value resets things.

c_joerg

Quote from: a1ex on February 18, 2021, 07:15:42 PM
I don't know what kind of signal you get through the hotshoe port, though - is it a logic signal active during the entire exposure, or something else?
The center contact is closed as long as the exposure is on. You can even measure the exposure time with it, but not very precisely. I control my dolly with the hotshoe

For this task you actually need a script with interval ramping. The lrtimelapse pro timer can do that too.

The problem is the different interval times. If the interval is more than 8s, the sunset becomes too fast. The starry sky takes about 30s. It is important for interval ramping that the transition is as smooth as possible. You should therefore not necessarily let the interval run over the exposure time. If, for example, a cloud comes in front of the sun before sunset, then the interval speed should not always change.


I wanted to do that with a CHDK lua script last year.
My idea was:

The interval starts with a fixed interval. If the exposure time comes in an order of magnitude (interval - exposure time <2s) then I would start the ramping. Perhaps I would adjust the ramping speed slightly, depending on the difference. But I would only ever increase the interval. Only when the maximum interval has been reached for a certain time could ramping be allowed to run in the other direction (For the night-day transition).


https://youtu.be/HHiEXPJUs5w
EOS R

garry23

QuoteOne thought, that I haven't tested, and @a1ex may say won't work is that you dynamically change the intervalometer settings via the event functional call, ie use a menu.set call to change the take a picture every value to whatever number you want, ie as your TL progresses.

Just tested this:

event.intervalometer = function(count) menu.set("Intervalometer","Take a pic every",count.."s") return end

It works, ie as a ramping function, but it seems to restart the intervalometers start delay but respects the count, ie the event doesn't appear to reset count. So, if you put the start delay to zero, you can certainly 'play around' with dynamically tweaking the TL times using the event call, ie achieve 'variable' TLs, even if you are not a Lua scripter.

Might be worth experimenting with, ie as a crude user controlled ramping approach.

surami

Thanks for the replies guys.

There was a post in 2013 by dmilligan in the adv_int.mo topic.

I think I will do the following. I'll use the Advanced Intervalometer module combinded with the Auto ETTR module, ML build 2016 vers.

1., On the day, when I'll go out to shoot day to night timelapse with my pan/tilt head, I'll check the exact sunset time and the sun "movement" with the help of Stellarium. I used this little software ealier and it's very helpful. Let's say the sunset is at 19:00 o'clock.
2., Canon settings: Image review: 2s, max ISO: 1600, Long exp. noise reduction: off, High iso speed noise reduction: standard
3., ML settings:
a, Expo menu
* White balance 4600K
* Picture style: neutral and contarst -2
+ Auto ETTR: Always On, Slowest shutter: 20s, Exposure target: -1 EV, Highlight ignore 0.1%, Midtone SNR limit: 6 EV, Shadow SNR limit: 2 EV
* Expo. override: on
* ExpSim: on
b, Overlay menu: Global draw: LiveView, Cropmarks: HD, 16:9, Histogram: RAW RGB, Log
c, Shoot menu
* Intervalometer menu: Strart trigger: Leave Menu, Start after: 3s, Stop after: Disabled
+ Advanced Intervalometer menu: Enabled: on, Use global time: on

  • Keyframe 1: Keyframe time: 18:00:00, Aperture: ON, F8.0, Interval time: 5s
  • Keyframe 2: Keyframe time: 19:10:00, Aperture: ON, F8.0, Interval time: 5s
  • Keyframe 3: Keyframe time: 19:40:00, Aperture: ON, F2.8, Interval time: 15s
  • Keyframe 4: Keyframe time: 20:10:00, Aperture: ON, F2.8, Interval time: 25s
  • Keyframe 5: Keyframe time: 21:10:00, Aperture: ON, F2.8, Interval time: 25s

What do you think? Will Auto ETTR take care of the shutter and ISO settings automatically?
550D + nightly ML

Walter Schulz

Cannot say if this workflow is a proper one (not fluent in astro) but:
High ISO noise reduction will not affect RAW.
Picture styles will not affect RAW.

a1ex

Quote from: surami on February 26, 2021, 03:05:35 PM
Will Auto ETTR take care of the shutter and ISO settings automatically?

In theory, yes. In practice, I don't remember trying anything similar during the past few years, so YMMV.

Something to keep in mind:

Before 2017: ETTR will ignore intervalometer settings, and might choose exposures longer than interval time.
After 2017: ETTR will not choose exposures longer than interval time.

Since you use long exposures, I'd recommend operating outside LiveView (in plain photo mode). There, Expo. override and ExpSim will have no effect.

c_joerg

Quote from: surami on February 26, 2021, 03:05:35 PM


  • Keyframe 2: Keyframe time: 19:10:00, Aperture: ON, F8.0, Interval time: 5s
  • Keyframe 3: Keyframe time: 19:40:00, Aperture: ON, F2.8, Interval time: 15s
  • Keyframe 4: Keyframe time: 20:10:00, Aperture: ON, F2.8, Interval time: 25s

Then every few seconds in the finished video there is a jump in time. I can't imagine it looking good.

I would not make that dependent on the time but on the current exposure situation.
EOS R

surami

QuoteCannot say if this workflow is a proper one (not fluent in astro)
QuoteThen every few seconds in the finished video there is a jump in time. I can't imagine it looking good.

I also thought about this and in meanwhile I looked after a bit and I found a video, the guy speaks about interval ramping and based on this I should plan with max. 3s steps in 15 mins between the keyframes. This way there will be a speedup, but hopefully not with sudden jumps in time. I have to try it in practice.

QuoteBefore 2017: ETTR will ignore intervalometer settings, and might choose exposures longer than interval time.
After 2017: ETTR will not choose exposures longer than interval time.

Since you use long exposures, I'd recommend operating outside LiveView (in plain photo mode). There, Expo. override and ExpSim will have no effect.

Thanks for the advice a1ex, I will use the latest stable build. Would the 2s image review time be enough for calculating the next ETTR shot? For motion I hope it's enough.

QuoteI would not make that dependent on the time but on the current exposure situation.

How do you mean? Auto ETTR will do the job in theory.

550D + nightly ML