モーション イベントを送信する IP カメラがあります。Onvif Device Manager を使用すると、これらのイベントも確認できます。ただし、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))