Существует ли открытый исходный код для видеопотока ONVIF на стороне камеры? (не на стороне клиента)

Я хотел бы отправить видеопоток по протоколу ONVIF из потока H.264 или IP-камеры (у которой нет протокола onvif). Я видел, что существует руководство программиста, но оно открыто код существует в java, C, javasript и т. д.?


person Community    schedule 14.09.2013    source источник
comment
Прошел почти год после вашего вопроса, и существует ряд библиотек ONVIF на C++, Ruby и т. д. Только на Github размещено несколько реализаций: github.com/search?utf8=%E2%9C%93&q=onvif   -  person Art Taylor    schedule 25.08.2014
comment
Действительно любопытно, вчера вы комментировали не просто ссылки в качестве ответов, сегодня выкладываете ссылку на гитхаб, указывая на множество пустых репозиториев. Большинство реализаций охватывают клиентскую сторону, являются неполными и не тестируются на официальном тестовом инструменте. Помните, что каждые 6 месяцев выпускается новая версия стандарта, поэтому вам действительно нужно научиться работать с GSOAP, а не зависеть от устаревших и в основном неполных реализаций.   -  person Ottavio Campana    schedule 25.08.2014


Ответы (1)


Такого кода не существует, потому что спецификация находится в форме WSDL, поэтому вы можете использовать его для автоматического создания кода с помощью подходящего инструмента, такого как gsoap.

Примечание для комментариев

Я являюсь частью группы ONVIF, я был частью PSIA и принимал участие в ISO/IEC TC 79 WG 12 для 62676-2. Могу сказать, что, в отличие от PSIA, официального кода для устройства или клиента нет. Более того, существуют реализации, сделанные компаниями, продающими SOC, но они требуют NDA и не являются открытым исходным кодом.

Поскольку реализация зависит от операционной системы камеры, а также от программного обеспечения, используемого для ее реализации, и от аппаратного обеспечения, они слишком специфичны. Инструментом, используемым большинством производителей, является GSOAP. Поэтому, пожалуйста:

  1. Поймите, что спецификаций WSDL вместе с руководством по программированию достаточно для его разработки.
  2. Прекратите добавлять бессмысленные комментарии и/или предлагать правки только для того, чтобы получить значки.
person Ottavio Campana    schedule 25.10.2013
comment
не существует - плохой ответ, поскольку а) нельзя быть уверенным в таком комментарии для открытого стандарта, и б) ответ бесполезен, кроме как на момент его публикации. - person Art Taylor; 24.08.2014
comment
Если вы хотите, чтобы ваш клиент был универсальным, существует множество различных версий спецификаций ONVIF. Таким образом, вы должны использовать GSOAP для создания нескольких версий огромного количества файлов заголовков/cpp, а затем выполнять определение версии и использовать разные пространства имен и функции в зависимости от версии. Создание клиента, который может поддерживать все камеры, совместимые с ONVIF, с GSOAP, — это не то, что вы закончите за две недели — вам предстоит несколько месяцев утомительной работы, пытаясь поддерживать каждый маленький нюанс. - person Ph0t0n; 20.02.2017
comment
привет. могу я задать вопрос. у меня есть эти профили: [ONVIFCamera.ONVIFCamera.Profile (имя: MediaProfile_Channel1_MainStream, токен: MediaProfile000), ONVIFCamera.ONVIFCamera.Profile (имя: MediaProfile_Channel1_SubStream1, токен: MediaProfile001), ONVIFCamera.ONVIFCamera.Profile (имя: mcMediaProfile, токен: mcMediaProfile) ] Но я не могу получить URI: Неизвестная ошибка. Вы можете помочь? - person famfamfam; 20.10.2018
comment
@famfamfam вам нужно выбрать токен и вызвать GetStreamingURI при передаче этого токена в функцию - person Ottavio Campana; 26.10.2018
comment
привет. Да, я тестировал 3 вышеуказанных токена, но получаю эту ошибку во всех ситуациях. - person famfamfam; 02.11.2018
comment
вам нужно получить трассировку wireshark, чтобы отладить то, что происходит. - person Ottavio Campana; 05.11.2018