-
Notifications
You must be signed in to change notification settings - Fork 329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Burst capture #968
Comments
This is hard to specify, and I would say it is camera and hardware dependent. Also a bit API challenge: The original capture_image API waits until the image is fully available, which usually takes longer. There is the trigger capture API and gphoto2 --trigger-capture command, which does not wait until the camera has the image ready, so can queue off more shots while the camera is processing the previous ones still. So if you specify multiple --trigger-capture (or trigger capture api calls), you should get speeds higher than 1/second. You will however only get the filename additions later on when the cameras has processed the images (and you can get them via wait-event). For testing, I just did with my Nikon Z6: gphoto2 --trigger-capture --trigger-capture --trigger-capture --trigger-capture --trigger-capture --trigger-capture --trigger-capture --trigger-capture --wait-event-and-download=20s first shot - a 0.x second delay somehow - further shots with definitely less than a second distnace. only after around 10 seconds it starts downloading images. |
Thank you @msmeissn this helps. I will try it today and report back with exact setup. Yesterday I tried
I suspect this is part of the problem. For this use case, I think one has to forgo the filenames and downloads and that is exactly what I am trying to do. |
With my Nikon D5500, D5300 and Z50, a single Thanks again |
There is also on Nikon a "BurstNumber" setting, here for us "burstnumber" configuration. if you set this, and either do capture_image or trigger_image it will ttake the burstnumber images as fast as the camera can. seems aavailable on all Nikon D and Z |
Oh, fantastic!! Thanks so much for mentioning it! As far as I am concerned, this issue can be closed. |
Lucky Nikon users who have this
For theses two use cases, I came up with a solution around 10 years ago that I have not really touched ever since. For the first use case, I introduced 2 things:
The second was basically introducing the So, first question to @msmeissn: I wonder whether changing that to only return from For the second use case, I came up with something that is based on
What I'm basically trying to achieve here is, telling the Canon to fire a full AEB sequence as fast as possible and let me know, once it is done. Second question @msmeissn: Do you have any suggestion for how to that better with the current state of the library? Ideally, we could come up with something that is generic enough to be put inside libgphoto2, so I don't have to maintain my external patches anymore. |
I tried to change trigger_capture, but it still was not pushing fast enough. In the end I think the best way is:
|
What do you mean "pushing fast enough"? Can you explain what you tried to do? |
Basically I think because it waits for the full press and releasing of the shutter button. |
I did a little experiment with the 3 bodies I currently have available. The table below shows the timestamp in the debug log when the 4 "events" took place:
As you can see, the two older EOS have a substantial delay between the The event I found that seems to correlate with this moment where the camera starts responding again is the OLC one (but the 5DM2 does not emit those at all, it seems). So for newer models it seems I could use that as an indicator. The R8 sent the The |
i still do not know what the abbreviation of OLC stands for ... but it does not really matter, it works well. |
This is a draft of a change along the lines of the discussion in gphoto#968 (comment) meant to be able to discuss something like that further. After realizing that there is no event sent from the camera to reliably detect the moment the camera is ready again, I went back to the approach that I successfully used for the last 10 years in production. This allows me to execute the following command on my R8 to capture a total of 4 images in under 2s. gphoto2 --set-config capturetarget=1 --set-config aeb="+/- 3" --set-config-index drivemode=1 --set-config shutterspeed=1/500 --set-config ownername=400 --trigger-capture --set-config aeb=off --set-config-index drivemode=0 --set-config ownername=1 --trigger-capture The use of "ownername" is obviously not meant to stay, it was just a quick hack to enable me to pass an sleep_ms parameter into camera_trigger_capture from the command line.
Further experiments revealed that |
@msmeissn Is this available for Sony? I am using a A7M4. |
Prologue
I am not sure if this is operator error, PTP limitation, or using the wrong tool for the job.
I have a number of different DSLR and mirrorless Nikon cameras which all can take extremely fast bursts with several shoots per second in either identical exposure or bracketing conditions.
It looks like whatever I do, with either
gphoto2
CLI (from the latest Ubuntu's snap, which brings v2.5.15) or libgphoto2 (gotten from Pip's python-gphoto2, which bringslibgphoto.so.6.3.0
) I can never achieve more than 1 shot per second which is absolutely insufficient for my needs.There is a large number of people with similar complaints spread out in time since the project started, so maybe this is not supported? For just two examples jim-easterbrook/python-gphoto2#123 and #317 but there are many more maybe mentioning terms like slow or fast or bracketing etc.
Describe the bug
Is this something that is supposed to work or not? If yes, how? Just repeating the capture slows to a crawl and is totally inadequate. Maybe it works only with some protocols? Only with some cameras (obviously not expecting to go faster than the camera can go on its on)?
To keep it simple let's say without downloading the images, just saving them on the SD cards (yes, these are indeed top-notch speed and work perfectly at the speed the camera is capable on -- when using it standalone rather than connected to the computer).
To avoid frustrating people, it would be greatly appreciated if there could be an authoritative section in the docs or README.md saying:
Thanks!!!
The text was updated successfully, but these errors were encountered: