我有一個GoPro Hero 7 White,最近我發現我可以像使用名為的Python軟件包的遠程網絡攝像頭一樣使用它適用於Python的GoPro API,位於https://github.com/konradit/gopro-py-api。
首先使用安裝軟件包pip3 install goprocam
然後在GoPro上啟用WiFi連接。
這使GoPro可以啟動WiFi網絡。從計算機連接到該網絡。
現在,您可以編寫Python程序以使用網絡攝像頭執行任何操作。
進口GoProCamera
和constants
從goprocam
:
from goprocam import GoProCamera, constants
然後致電GoProCamera.GoPro()
獲取相機對象的方法:
gopro = GoProCamera.GoPro(constants.gpcontrol)
使用獲取有關相機狀態的概述
gopro.overview()
在我的情況下,我把它打印出來了:
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: C3343323864041Now you can use a variety of methods that make the GoPro take actions.
You can take a photo immediately:
gopro.take_photo()
You can take a photo after 2 seconds:
gopro.take_photo(2)
You can shoot a 10-seconds video:
gopro.shoot_video(10)
Or just start recording, with no preset end time, using
gopro.shoot_video()
You can download the last picture or video taken using
gopro.downloadLastMedia()
You can also set a name for the file:
gopro.downloadLastMedia("pic.JPG")
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 gopro.getStatusRaw()
before calling 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)
You can find many examples here and more documentation here.
The camera is available on IP 10.5.5.9
, with the MAC address AA:BB:CC:DD:EE:FF
.
More python tutorials:
- Introduction to Python
- Installing Python 3 on macOS
- Running Python programs
- Python 2 vs Python 3
- The basics of working with Python
- Python Data Types
- Python Operators
- Python Strings
- Python Booleans
- Python Numbers
- Python, Accepting Input
- Python Control Statements
- Python Lists
- Python Tuples
- Python Sets
- Python Dictionaries
- Python Functions
- Python Objects
- Python Loops
- Python Modules
- Python Classes
- The Python Standard Library
- Debugging Python
- Python variables scope
- Python, accept arguments from command line
- Python Recursion
- Python Nested Functions
- Python Lambda Functions
- Python Closures
- Python Virtual Environments
- Use a GoPro as a remote webcam using Python
- Python, how to create a list from a string
- Python Decorators
- Python Docstrings
- Python Introspection
- Python Annotations
- Python, how to list files and folders in a directory
- Python, how to check if a number is odd or even
- Python, how to get the details of a file
- Python, how to check if a file or directory exists
- Python Exceptions
- Python, how to create a directory
- Python, how to create an empty file
- Python, the `with` statement
- Python, create a network request
- Python, installing 3rd party packages using `pip`
- Python, read the content of a file