前一篇文章中讲到如何安装gsoap,本篇文章将介绍如何使用gsoap获取onvif协议,并通过onvif协议在客户端获取RTSP地址。
2. 通过gsoap获取onvif协议
首先要明白gsoap只是一个工具,该工具能通过WSDL自动生成C/C++语言的客户端或服务端的框架代码。其中wsdl2h和soapcpp2为核心,能实现上述功能。wsdl2h根据WSDL文成C/C++头文件,soapcpp2根据该头文件生成C/C++的框架源码。
然后需要了解Onvif只是一个网络协议,原为安讯士、博世、索尼等三家公司在2008年共同成立的一个国际性开放型网络视频产品标准网络接口 的开发论坛。后由于行业标准化,直接将该论坛名设为协议名。它制订了网络视频的模型、接口、数据类型以及数据交互的模式。我们直接使用这个协议就能获取到摄像头的相关信息,从而进行数据传输。
gsoap和onvif的预备知识这里不再赘述网上有大量信息可供参考。下面正式开始获取onvif部分。
1.1 生成onvif框架
准备工作,电脑联网,新建一个文件夹,后面将把你生成的相关文件放在这个目录下。进入该文件夹打开terminal,输入如下指令
wsdl2h -c -s -t typemap.dat -o onvif.h http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl http://www.onvif.org/onvif/ver10/device/wsdl