KonradIT / gopro-py-api

Unofficial GoPro API Library for Python - connect to GoPro via WiFi.
MIT License
1.38k stars 211 forks source link
api-service api-wrapper camera gopro gopro-api hero3 hero4 hero4-session hero5 hero6 python python-library

GoPro API for Python

GitHub issues Github All Releases PyPi Version

Unofficial GoPro API Library for Python - connect to GoPro cameras via WiFi.

Notice:

Project has been updated to support Hero10 Black + OpenGoPro v2 + USB control. Further is needed to support these features:

Project covers a decade worth of camera releases, naturally something might've broken as development focuses on the newer cameras. Hopefully nothing broke.

Acknowledgments to GoPro for the OpenGoPro API spec release.

- @konradit

Compatibility:

WiFi vs USB:

Hero3..Hero8 (incl. MAX/Fusion/Session) all use WiFi (and some use Bluetooth) for controls, media management, status updates and live preview

Hero9 Black and Hero10 Black have Webcam functionality, and Hero10 Black is officially exposing the API server over USB Ethernet with full camera control capabilities

Hero9 Black requires using an older firmware to get ability to take photos. See the compatibility chart

Installation

From PyPi:

pip install goprocam

Git (unstable):

git clone http://github.com/konradit/gopro-py-api
cd gopro-py-api
python setup.py install

Tested on Python 3.6.0 -- works on Linux and Windows and Mac

Quick start:

Connect your camera to your computer via WiFi (WiFi on the camera must be on!)

from goprocam import GoProCamera, constants

goproCamera = GoProCamera.GoPro()

goproCamera.shoot_video(10)

Examples:

See examples for examples on how to use this API.

Documentation:

Documentation is available: docs

Video screencap: