onvif开发总结】的更多相关文章

前面一篇已经介绍了客户端如何发些设备,下面这篇简单介绍下在发现设备后,如何通过ONVIF协议来获取设备的相关参数 ONVIF中不管是客户端还是设备端,最先实现的接口都是关于能力的那个接口,在客户端实现的函数名也就是[soap_call___tds__GetServiceCapabilities]通过获取的接口才知道设备具有那些能力,能够进行那些操作,服务端最基本的也需要实现这接口,让客户端知道设备支持那些基本操作.但是当设备端作了加密处理的话,即使你实现了这些接口,也不能正常获取到参数的,所以需…
忙了一个多月,onvif总算告一段落了.这几个星期忙着其他的项目,也没有好好整理一下onvif的东西.接下来得好好整理一下自己的项目思路和项目经验,同时将自己的一些心得写出来,希望对人有所帮助. 相信大多数兄弟和我一样,onvif开发,最开始做的就是发现功能.这两天登录onvif的官网看才发现,onvif版本在八月份有更新,已经更新到V2.4了,于是下载最新的版本来进行.代码的生成可以详见我的前一篇文章.V2.4版本新增了一个wsdl文件,现在用于生成源码的文件一共有18个.为了保证全功能,最好…
在前几篇中,虽然已经实现了rtsp视频流的对接,但是还要做的工作还非常多,onvif本来就是一个覆盖面非常广的一个协议,每一个功能都要填充大量的函数.而且稍不注意就会出现segmentation fault错误.下面把我之前开发调试时的经验写下来,希望能够帮助有这方面需求的人.[来自http://blog.csdn.net/ghostyu] 1.打开onvif调试开关,以便让onvif打印一些可用的调试信息. 在Makefile中添加调试宏定义如: CC = gcc -DDEBUG 2.打开调试…
<开发过过程中的经验总结> ➤工具的使用     (1)首先将文件soapClientLib.c 中"代码"的第二行和第三行注释掉,实际上该文件根本没有用,为了保险起见,仅仅是注释掉.     (2)合理的使用onvif test tool 工具 和 wireshark抓包工具,在开发中难度之一就是不知道代码中结构体中的数据填充具体是多少,所以可以使用onvif test tool 控制设备,抓取该工具发送过去的包,分析如何填充数据.     (3)在onvif test…
服务端的开发相对来说比客户端稍微难一点,也就是给填充相关结构体的时候,需要一点一点的去查阅,验证各个结构中各个成员各自代表什么意思,以及对应的功能需要是那个接口实现,这是开发服务端最头疼的事情.(在开发过程中郁闷了好久,后面是通过搜索工具抓包海康设备来填充相关信息的)开始切入主题了,准备服务端的开发了. 同理需要前面生成的代码,这个时候较之客户端的开发,需要在代码生成的时候之前生成的soapServer.c文件了,当放在客户端测试目录下用makefile编译的时候,你可能会很惊讶,怎么这么多错误…
关于ONVIF的广播,有客户端搜索和服务端发现的区别:客户端向固定的网段和固定的端口发送广播消息,服务端在对应的端口回复广播请求消息本文首先介绍客户端如何进行广播的已经对广播回复的信息的基本处理. 客户端这里处理相对服务端比较复杂一点,需要注意几个地方: 1 广播的ip和端口号(注意这个端口号和通信的端口是不一样的,通信端口号可以自己随意定一个,但是这个广播的是ONVIF协议定好公用的) ip:239:255:255:250   port:3702 2 MessageID ,此ID每次都需要不同…
看了前一篇的ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成Onvif相关源代码(我现在使用的gsoap版本是gsoap2.8.14,下面有下载地址): 在下载的gsoap文件下,在/gsoap-2.8/gsoap的目录下有有个typemap.dat文件,后面就是通过此文件来生成onvif.h文件的.在这里说明下 利用gsoap-2.8.8的版本的话,需要稍微…
什么是Onvif协议,谁开启了Onvif时代? ONVIF:原意为 开放型网络视频接口论坛,即 Open Network Video Interface Forum ,是安讯士.博世.索尼等三家公司在2008年共同成立的一个国际性 开放型 网络视频产品 标准网络接口 的开发论坛,后来由这个技术开发论坛共同制定的开放性行业标准,就用该论坛的大写字母命名,即ONVIF 网络视频标准规范,习惯简称为:ONVIF协议.ONVIF网络视频协议的出现,解决了不同厂商之间开发的各类设备不能融合使用的难题,提供…
前面篇介绍onvif服务端的发现功能,继续在之前的代码基础上完成一个RTSP流的工作,也就是客户端通过ONVIF协议来预览设备端在这个之前必须确定几个简单的条件1 设备端能被发现2 设备端支持RTSP协议,并且能够通过VLC进行正常的预览 通过onvif协议设备需要做的几个基本事情:1  __tds__GetCapabilities获取设备能力2  __trt__GetProfiles获取设备的配置信息3  获取前段设备的视频编码和视频源的一些基本需要的信息4 __trt__GetStreamU…
Gsoap及开发框架生成: 一:gsoap下载和编译   1.下载Gsoap:地址:http://sourceforge.net/projects/gsoap2/files/gSOAP/ 2.安装:  ./configure --prefix=你的安装目录                  make                 make install 二:在线生成onvif.h(笔者试了离线生成,各种报错,所以劝各位还是在线生成) wsdl2h -o onvif.h -c -s -t ./…