0

将此代码用于我的任务。并成功运行移动方法,相机开始旋转。我称之为 stop() 方法,它抛出了一个异常。请帮助解决这个问题

Traceback (most recent call last):
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\onvif\client.py", line 23, in wrapped
    return func(*args, **kwargs)
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\onvif\client.py", line 153, in wrapped
    return call(params, callback)
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\onvif\client.py", line 140, in call
    ret = func(**params)
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\zeep\proxy.py", line 46, in __call__
    return self._proxy._binding.send(
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\zeep\wsdl\bindings\soap.py", line 135, in send
    return self.process_reply(client, operation_obj, response)
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\zeep\wsdl\bindings\soap.py", line 229, in process_reply
    return self.process_error(doc, operation)
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\zeep\wsdl\bindings\soap.py", line 391, in process_error
    raise Fault(
zeep.exceptions.Fault: Action Not Support

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/josh/Desktop/code/test.py", line 166, in <module>
    ptz.Stop({'ProfileToken': moverequest.ProfileToken})
  File "C:\Users\josh\Desktop\code\venv\lib\site-packages\onvif\client.py", line 26, in wrapped
    raise ONVIFError(err)
onvif.exceptions.ONVIFError: Unknown error: Action Not Support
4

1 回答 1

1

摄像机可能会选择使用另一种方法来停止移动。这是我通过反复试验发现的,后来找到了解释它的以下帖子。

https://doc.milestonesys.com/latest/en-US/onvifdriver/why_the_onvif_driver_does.htm

这里的解决方案是从程序中删除这个停止请求。当您确实需要停止运动时,您将需要一种不同的策略:发送 x,y 值为零以进行连续运动操作。

我还发现我的相机并不真正支持相对和绝对运动。它们工作,但它们的工作方式与连续运动相同,不像预期的那样

我的相机公司提供了帮助。最重要的是,您可能需要他们的帮助才能确切了解他们支持他们的设备的内容和方式。例如,我无法关闭我的自动对焦。

于 2022-01-19T16:03:45.803 回答