KonradIT / gopro-py-api

Unofficial GoPro API Library for Python - connect to GoPro via WiFi.
MIT License
1.4k stars 211 forks source link

Burst Mode and how to take Multiple Exposures #63

Open vitaminrad opened 6 years ago

vitaminrad commented 6 years ago

Howdy, I can connect to the camera and issue commands to set Burst Mode, however I cannot get multiple exposures using the take_photo() command. Am I missing something?

`from goprocam import GoProCamera from goprocam import constants gopro = GoProCamera.GoPro(constants.gpcontrol)

Waking up... Camera successfully connected! Connected to 10.5.5.9

gopro.mode(constants.Mode.MultiShotMode, constants.Mode.SubMode.MultiShot.Burst) gopro.gpControlSet(constants.Multishot.BURST_RATE, constants.Multishot.BurstRate.B3_1)

gopro.overview()

camera overview current mode: Multi-Shot current submode: Burst current video resolution: 1080p current video framerate: 60 pictures taken: 1 videos taken: 0 videos left: 00:21:49 pictures left: 3015 battery left: Full space left in sd card: 7.19GB camera SSID: goprohero4 Is Recording: Not recording - standby Clients connected: 1 camera model: HERO4 Black firmware version: HD4.02.05.00.00 serial number: XXXXXXXXXXXXXX

gopro.take_photo()

{}

{}

'http://10.5.5.9:8080/videos/DCIM/100GOPRO/GOPR0400.JPG' `

As you can see only one exposure is recorded... any ideas?

KonradIT commented 6 years ago

Oh hey,

gopro.take_photo() 

switches to Photo mode, if you wish to capture a Burst sequence:

gopro.mode(constants.Mode.MultiShotMode, constants.Mode.SubMode.MultiShot.Burst)
gopro.shutter(constants.start)

However this will not give you different exposures (EV stops). For that check my script: https://github.com/KonradIT/gopro-py-api/blob/master/examples/hdrphoto.py

vitaminrad commented 6 years ago

Thank you!

I discovered that the sequence of images is not readily available from listMedia(), however the files are still there.

The sequence for burst photos is as follows:

Gyyyxxxx.jpg

‘yyy’ = group number ‘xxxx’ = file number

If the number of burst photos taken is known, By getting the filename from listMedia, we can assume that incrementing the file number will link to valid media.