0

我有一个发送运动事件的 IP 摄像机。使用 Onvif 设备管理器,我还可以查看这些事件。但是,我无法使用 Python 脚本获取这些事件。起点是 Github 项目:https ://github.com/FalkTannhaeuser/python-onvif-zeep

如果我从文档中正确阅读,首先您必须执行一个名为“CreatePullPointSubscriptionRequest”的函数。作为响应,您会得到“CreatePullPointSubscriptionResponse”。然后你可以执行函数'PullMessagesRequest'。

有人可以给我发送一个代码片段来注册一个事件(全部或过滤)然后阅读这些事件吗?

这是我到目前为止所拥有的:

from onvif import ONVIFCamera
mycam = ONVIFCamera('192.168.0.2', 80, 'user', 'passwd', '/etc/onvif/wsdl/')

resp = mycam.devicemgmt.GetHostname()
print('My camera`s hostname: ' + str(resp.Name))

event_service = mycam.create_events_service()
print(event_service.GetEventProperties())

subscription = event_service.CreatePullPointSubscription()

pullpoint = mycam.create_pullpoint_service()
req = pullpoint.create_type('PullMessages') # Exception: No element 'PullMessages' in namespace http://docs.oasis-open.org/wsrf/rw-2. Available elements are:  - 
req.MessageLimit=100
print(pullpoint.PullMessages(req))
4

0 回答 0