我在这里遇到有关ONVIF IP Camera规范的问题.我已经构建了一个程序,能够使用该标准来联系摄像机并向它们发送标准媒体/设备请求.
问题是我现在正试图通过ONVIF访问他们的PTZ容量,对于我的两个摄像头,我只得到以下错误:
HTTP/1.1 400 Bad Request
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 741
Connection: keep-alive
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:ter="http://www.onvif.org/ver10/error">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<SOAP-ENV:Code>
<SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value>
<SOAP-ENV:Subcode>
<SOAP-ENV:Value>ter:Namespace</SOAP-ENV:Value>
</SOAP-ENV:Subcode>
</SOAP-ENV:Code>
<SOAP-ENV:Reason>
<SOAP-ENV:Text xml:lang="en">Namespace Error</SOAP-ENV:Text></SOAP-ENV:Reason>
<SOAP-ENV:Node>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Node>
<SOAP-ENV:Role>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Role>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)
所以,命名空间错误.
问题是我通过GetCapabilities()ONVIF请求获得了相机的onvif PTZ名称空间(/ onvif/ptz_service).
对于我发送到我的两个ONVIF摄像机中的任何一个的任何PTZ onvif请求,问题都是相同的.
我已经试图找到使用ONVIF让他们发送PTZ要求,看他们工作的软件,但我没有找到一个(有这里是一个ONVIF设备管理器:http://sourceforge.net/projects/onvifdm/但有没有实际的PTZ处理,除非问题来自我的相机).