我目前正在运行一个带有Axis 3046-V摄像机(固件8.40.1和Windows 10)的项目。
通过使用Vapix第3版和Python中的“请求”模块,我设法在Python(3.6)中实现了软件以连接到摄像机,打开摄像机并以用户指定的帧频,分辨率和压缩率进行记录。但是,我正在努力控制摄像机的PTZ功能。再次使用“请求”,我设法查询了Properties.PTZ.PTZ
和Properties.PTZ.DigitalPTZ
,它们似乎都可以用于我的相机,并且我成功启用了PTZ并通过
request.get("http://CAMERA_IP//axis-cgi/param.cgi?action=update&PTZ.ImageSource.IO.PTZEnabled=true&PTZ.Various.V1.Locked=false", auth=AUTHENTIFICATION, stream=True)
我现在可以用
查询位置request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?query=position", auth=...)
我得到了答案b'pan=0.00\r\n\ntilt=0.00\r\nzoom=1\r\n
。
从ptz.cgi的信息部分中,我知道'pan'和'tilt'是可用的命令,
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?info=1camera=1", auth=)
给出... pan=[abspos]\r\ntilt=[abspos]\r\n
....如果我理解Vapix Pan Tilt Zoom API,请正确执行3.4.1 PTZ控制部分,则“ pan”和“ tilt”的浮动范围为-180.0至180.0。但是,请求
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?pan=150.0&camera=1", auth=...)
始终无法连接。在平移值(即请求)周围放置方括号
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?pan=[150.0]&camera=1", auth=...)
正在解决,但提供了内容b'Error\r\npan: invalid number: [150.0]\r\n'
。
对于'tilt','rpan'......,这些参数似乎不响应HTTP API中指定的值,这是相同的。
我做错什么了吗?在这种情况下,我将非常感谢您的帮助。非常感谢你!!
编辑:它在Windows 7系统上显示相同的行为。