前言:
离职了,在准备上学还有一大段时间,前些日子由于工作需要,公司要求用海康的网络摄像头做出客户端程序,采集视频,并在LCD上显示出视频,故研究onvif协议,,现将心得写出。
开发环境:
本次搭建onvif框架采用的是周立功官网发布的Ubuntu 64位版本。版本为12.04.参考教程为许振坪的专栏。
名词的个人理解:
Onvif是一种全球通用的、开放的、标准的接口,使用这个接口来获取网络摄像头的各种参数或音视频流,服务端与客户端的数据交互采用SOAP协议,音视频流则采用RTP/RTSP进行,其接口是web services形式。
Gsoap工具将wsdl文档生成c或c++代码,从而生成webservice客户端。
Web services服务可以提供各种远程调用的接口函数。
网络摄像头:IPC
这样,如图1所示,我们就将采用gsoap工具来生成onvif的框架代码,自己只专注于客户端的应用开发,然后其中调用的函数通过gsoap工具生成的框架代码转变成web services形式,再发送给IPC。反过来,IPC发给客户端的数据是web service形式,通过框架直接转变为各种接口函数。这样大大较少中间过程的开发。