I have a GoPro Hero 7 White and I recently discovered I can use it as are remote webcam using a Python package called GoPro API for Python, available at https://github.com/konradit/gopro-py-api.
First install the package using
pip3 install goprocam then enable the WiFi connection on the GoPro.
This makes the GoPro start a WiFi network. Connect to that network from the computer.
Now you’re ready to write your Python program to do whatever you want with the webcam.
from goprocam import GoProCamera, constants
Then call the
GoProCamera.GoPro() method to get a camera object:
gopro = GoProCamera.GoPro(constants.gpcontrol)
Get an overview of the camera status using
In my case I got this printed out:
camera overview current mode: Photo current submode: Burst current video resolution: out of scope current video framerate: 240 pictures taken: 0 videos taken: 0 videos left: 02:10:44 pictures left: 11257 battery left: Halfway space left in sd card: 58.04GB camera SSID: HERO7 White Is Recording: Not recording - standby Clients connected: 2 camera model: HERO7 White firmware version: H18.02.02.10.00 serial number: C3343323864041
Now you can use a variety of methods that make the GoPro take actions.
You can take a photo immediately:
You can take a photo after 2 seconds:
You can shoot a 10-seconds video:
Or just start recording, with no preset end time, using
You can download the last picture or video taken using
You can also set a name for the file:
Tip: I ran into a bug that prevented me to download the picture when I called
downloadLastMedia(). I was getting errors that said “Not supported while recording or processing media”. I had to call
downloadLastMedia()to fix it.
There are many useful methods like
KeepAlive()to prevent the GoPro to turn off
setZoom()to set the zoom
downloadAll()to download all media from the camera
delete("last")to delete the last media taken
delete("all")to delete all media
power_off()power off the camera
power_on()power on the camera
stream()to start streaming (haven’t figured it out yet)
The camera is available on IP
10.5.5.9, with the MAC address
Download my free Python Handbook
More python tutorials:
- Python, read the content of a file
- Python Control Statements
- Python 2 vs Python 3
- Python Virtual Environments
- Python Booleans
- Django in VS Code, fix the error `Unable to import django.db`
- How to check if a variable is a number in Python
- Python, how to write to a file
- Python List comprehensions