Qt编写Onvif搜索及云台控制工具
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt编写Onvif搜索及云台控制工具相关的知识,希望对你有一定的参考价值。
参考技术A 这个工具很早以前大概在2013年就想做了,后面杂七杂八的事情一再耽搁,记得当时最初用的是soap类来搜索和解析的,后面发现太大了,每次编译都要等好久,光源码文件加起来都快10MB了,而且函数名非常另类,大量的下划线等,反正本人非常不适应,近期经过一个朋友(QQ:408815041)的前期探索,对整个处理流程熟悉以后,发现其实用纯Qt也可以实现,核心就是udp搜索+post数据。本程序框架的最大难点在找出对应的数据以及节点数据解析。找出对应的数据可以直接使用官方的ONVIF Device Test Tool,抓包即可。数据解析一开始采用xml的节点解析,发现根本行不通,因为返回的数据不是标准的xml数据,而是soap格式的数据,需要用QXmlQuery来解析。本程序只实现了设备信息的搜索和云台控制,并未实现服务端,服务端一般是IPC或者NVR上来实现。
体验地址: https://pan.baidu.com/s/1bbL2ZughZAgfIGrexyN-9g 提取码:zkeh,下面的bin_onviftool.zip,如果是XP系统,请先执行目录下的fixff.cmd。
ONVIF致力于通过全球性的开放接口标准来推进网络视频在安防市场的应用,这一接口标准将确保不同厂商生产的网络视频产品具有互通性。2008年11月,正式发布了ONVIF第一版规范——ONVIF核心规范1.0。随着视频监控的网络化应用,产业链的分工将越来越细。有些厂商专门做摄像头,有些厂商专门做DVS,有些厂商则可能专门做平台等,然后通过集成商进行集成,提供给最终客户。这种产业合作模式,已经迫切的需要行业提供越来越标准化的接口平台。
ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。
ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供,设备作为服务提供者为服务端。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行。
RTSP/Onvif协议EasyNVR平台无法通过Onvif控制摄像头云台是什么原因?
EasyNVR视频边缘计算网关平台是我们推出的软硬一体的视频平台,既有软件版本,又有硬件版本,用户可以根据自己的需求进行选择。软件版本对于设备大接入量比较友好,并发高。
EasyNVR与摄像头连接时,可以通过平台自带的Onvif探测进行设备探测、连接,还能实现对摄像头的PTZ云台控制,包括镜头转向、变焦等操作。
通过Onvif控制云台是非常实用的功能,在很多用户实际项目中得到了广泛运用。但是需要注意的是,使用Onvif功能,摄像头与EasyNVR平台需要保持在同一个网段,同时,摄像头必须支持云台控制,否则无法通过Onvif控制摄像头云台。
我们在某用户现场遇到Onvif可以探测到摄像头设备的IP,但是无法控制云台的情况。
通过排查发现,原来是摄像头用户权限问题导致。摄像头并不是管理员的权限,需要在海康摄像头的后台页面进行修改,如下图:
选择【管理员】,保存即可。重新启动摄像头,这时云台控制功能已经恢复了正常。
所以用户在使用云台功能时,若出现了类似的情况,可以排查是否是权限问题导致,若无法解决,也可以联系我们进行协助。
EasyNVR优秀的视频能力在于通过RTSP/ONVIF协议接入海量视频设备,处理、分发,对外输出的视频流格式包括RTSP、RTMP、FLV、HLS、WebRTC等格式,实现全平台、全终端覆盖。平台部署轻快、操作便捷、可拓展性强,在安防视频监控市场应用十分广泛, 比如智慧景区、智慧工地、智慧港口、智慧水利等等。
以上是关于Qt编写Onvif搜索及云台控制工具的主要内容,如果未能解决你的问题,请参考以下文章