Моя компания пытается выяснить, как превратить нашу текущую линейку камер в камеры, совместимые с ONVIF.
То, что я нашел, это документы спецификации и несколько файлов WSDL. Но все, что я видел до сих пор, похоже, настраивает «клиентскую сторону» вещей.
Я пытаюсь создать службу промежуточного программного обеспечения, чтобы наши существующие камеры могли поддерживать ONVIF.
Используются ли файлы WSDL как для клиента, так и для устройства?
Как компании программируют камеры, совместимые с ONVIF? Наши PTZ, будет ли PTZ WSDL тем, что я ищу?
Как запустить сервисное устройство? Хотя спецификация охватывает все, она плохо написана для новых разработчиков стандарта.
Пожалуйста, помогите мне понять, как бы я превратил свою встроенную камеру Linux в C ++ в ONVIF-совместимую камеру. Используют ли разработчики WSDL для достижения этой цели?
Спасибо!
Ну, один из самых распространенных способов реализации ONVIF через gSoap библиотека, она имеет очень обширный руководство относительно случаев использования клиента и сервера. Вы должны просмотреть документацию на стороне сервера, чтобы понять, как она работает. С очень обобщенной точки зрения — это имеет wsdl2h инструмент, который берет набор файлов WSDL и генерирует код заглушки (в основном это анализ и код ввода-вывода, который заботится о создании структурных представлений данных запроса), а затем использует другой инструмент gSoap, который называется soapcpp2 Вы можете генерировать клиент / серверные объекты C / C ++ (я работал только с клиентской стороной, поэтому я думаю, что упомянутое выше руководство — лучший способ понять, как построить сервер, используя сгенерированные объекты). Затем вы можете разместить сервис и взаимодействовать с запросами с камеры через эту абстракцию объекта C / C ++, что должно быть довольно просто. Все xmls запроса десериализуются в экземпляры объекта, и вы можете просто просмотреть необходимые поля, создать экземпляр нужного объекта ответа и отправить его обратно. По крайней мере, я до сих пор использую gSoap для запросов клиентов к камерам ONVIF, и я вполне доволен. Вот это небольшое руководство от сопровождающих gSoap о том, как развернуть простой сервис.
При этом я видел камеры, которые не используют gSoap или другие высокоуровневые фреймворки, а просто анализируют содержимое запроса с помощью любого распространенного синтаксического анализатора xml и имеют шаблоны строк ответа, отформатированные с необходимыми значениями и отправленные обратно — если ваш Камера не очень сложная, это может работать, но это зависит от ваших потребностей. Не стесняйтесь задавать любые дополнительные вопросы, по крайней мере, для меня ONVIF был довольно паутиной, когда я начинал.