ONVIF开发经验总结

学习ONVIF技术也有一个月了,实现了发现网络摄像机、获取设备信息、获取RTSP流地址并播放RTSP视频这些工作,借鉴了很多网上的大牛的开发经验,主要借鉴的有两个:http://my.csdn.net/ghostyu、http://gaohtao.blog.163.com/blog/static/58241823201362334222265/、从这两个大牛的博客里学到了很多东西,但是我在这里做一个我自己的总结。


ONVIF开发主要是分为client端和server端,如果是实现基于ONVIF的client端开发,主要的工作就是调用soapClient.c里面的函数来实现,这部分工作的难度就是配置各种需要的结构体信息。ONVIF官网资料里面我没有找到具体的关于配置这些信息的资料,如果大家找到了麻烦跟我分享下。我自己的做法是借助ONVIF官方的ONVIF Device Test Tool,通过抓包软件获取这个工具发出的SOAP消息,根据SOAP消息就可以配置出需要的结构体信息,这样就可以很容易的开发了。


如果是基于ONVIF的server端的开发,首先是配置一个socket来通信,socket的配置就不多说了,然后监听soapServer.c里面的soap_serve(struct soap *soap)函数,这个函数根据收到的信息,调用soap_serve_request(struct soap *soap)函数,可以解析出收到的信息要完成的要求。然后把要求的内容发送出去,发送出去调用的是soapClient.c里面的函数,这和client端类似。


我在接下来的几篇博客里面把ONVIF Device Test Tool发送的SOAP消息贴出来。

probe.xml



	
uuid:e2726d13-1db9-4892-9216-7cc5a7e9f173 urn:schemas-xmlsoap-org:es:2005:04:discovery http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
tds:Device


你可能感兴趣的:(onvif,Onvif)