3

ここでONVIF IPカメラの仕様について困っています。標準を使用してカメラに接続し、標準のメディア/デバイス要求を送信できるプログラムを構築しました。

問題は、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>

だから、名前空間エラー。

問題は、GetCapabilities() ONVIF リクエストを通じて、カメラ (/onvif/ptz_service) の onvif PTZ 名前空間を取得したことです。

この問題は、2 台の ONVIF カメラの両方に送信する PTZ onvif リクエストでも同じです。

ONVIF を使用して PTZ 要求を送信し、動作するかどうかを確認するソフトウェアを既に見つけようとしましたが、見つかりませんでした (ここに ONVIF デバイス マネージャーがあります: http://sourceforge.net/projects/onvifdm/ですが、問題がカメラに起因しない限り、実際の PTZ 処理はありません)。

4

1 に答える 1

7

率直に言ってがっかりする問題を見つけました:

最初のバージョン (ver10) は非推奨と見なされているため、ONVIF PTZ WSDL ファイルの 2 番目のバージョン (ver20) を使用していました。

数日前に購入した最新のファームウェアを搭載した最近の ONVIF カメラでさえ、まだ ver10 を使用していることがわかりました。

SvcUtil を使用して ver10 wsdl を使用してプロキシ クラスを生成できないため、すべての「http://www.onvif.org/ver20/ptz/wsdl」名前空間を ver20 ではなく ver10 に切り替えてみたところ、動作しました。今のところ。他のカメラでも使えるといいのですが…

于 2011-08-16T09:48:33.847 に答える