ONVIF и PTZ доступ к IP-камерам - PullRequest
2 голосов
/ 11 августа 2011

У меня тут проблемы со спецификацией IP-камеры ONVIF. Я построил программу, которая может использовать стандарт для связи с камерами и отправки им стандартных запросов медиа / устройств.

Проблема в том, что я сейчас пытаюсь получить доступ к их мощностям PTZ через ONVIF, и что для обеих моих камер я получаю только следующую ошибку:

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>

Итак, ошибка пространства имен.

Проблема в том, что я получил пространство имен камеры PTV onvif (/ onvif / ptz_service) с помощью запроса ONCIF GetCapabilities ().

Проблема одинакова для любого запроса PTZ onvif, который я отправляю любой из двух моих камер ONVIF.

Я уже пытался найти программы, использующие ONVIF, чтобы они отправляли запрос PTZ, и посмотреть, работает ли он, но я не нашел (здесь есть диспетчер устройств ONVIF: http://sourceforge.net/projects/onvifdm/, но фактического PTZ обработка, если только проблема не исходит от моих камер).

1 Ответ

6 голосов
/ 16 августа 2011

Я нашел проблему, которая откровенно разочаровывает:

Я использовал 2-ю версию (ver20) файла ONVIF PTZ WSDL, потому что 1-я версия (ver10) считается устаревшей.

Оказывается, даже последняя камера ONVIF, которую я только что купил несколько дней назад, с обновленной прошивкой, все еще использует версию 10.

Поскольку я не могу использовать SvcUtil для генерации своего прокси-класса с использованием версии 10 wsdl, я попытался переключить все пространства имен "http://www.onvif.org/ver20/ptz/wsdl" с версией 10 вместо вер20, и это работает. На данный момент. с другими камерами ...

...