我有一个GoPro Hero 7 White,我最近发现我可以使用一个名为GoPro API for Python的Python包将其作为远程网络摄像机使用,该包可在github.com/konradit/go…
首先使用pip3 install goprocam 安装该软件包,然后在GoPro上启用WiFi连接。
这将使GoPro启动一个WiFi网络。从计算机连接到该网络。
现在你已经准备好编写你的Python程序,以便对摄像头做任何你想做的事情。
从goprocam 中导入GoProCamera 和constants 。
from goprocam import GoProCamera, constants
然后调用GoProCamera.GoPro() 方法来获得一个摄像头对象。
gopro = GoProCamera.GoPro(constants.gpcontrol)
用以下方法获得摄像机状态的概览
在我的例子中,我得到了这个打印出来的结果。
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
现在你可以使用各种方法,使GoPro采取动作。
你可以立即拍一张照片。
你可以在2秒后拍一张照片。
你可以拍摄一个10秒的视频。
或者直接开始录制,没有预设结束时间,使用
你可以下载最后拍摄的照片或视频,使用
gopro.downloadLastMedia()
你还可以为文件设置一个名称。
gopro.downloadLastMedia("pic.JPG")
提示:我遇到了一个错误,当我调用
downloadLastMedia(),就无法下载图片。我得到的错误信息是 "在录制或处理媒体时不支持"。我不得不在调用gopro.getStatusRaw(),然后再调用downloadLastMedia()来解决这个问题。
有许多有用的方法,如
KeepAlive()防止GoPro关闭setZoom()设置变焦downloadAll()从相机中下载所有媒体delete("last")删除最后拍摄的媒体delete("all")删除所有媒体power_off()关闭相机电源power_on()打开相机电源stream()开始流媒体(还没搞清楚)。
摄像机的IP是10.5.5.9 ,MAC地址是AA:BB:CC:DD:EE:FF 。