Qt编写onvif搜索和云台控制工具源码
Qt编写onvif搜索和云台控制工具源码
一、功能特点
- 广播搜索设备,支持IPC和NVR,依次返回。
- 可选择不同的网卡IP进行对应网段设备的搜索。
- 依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。
- 可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。
- 可对每个设备设置Onvif用户信息,用于认证获取详细信息。
- 可实时预览摄像机图像。
- 支持云台控制,可上下左右调节云台,支持绝对移动、相对移动、连续移动三种方式,可对图像拉近拉远。
- 支持获取预置位集合、调用预置位、添加预置位、删除预置位等。
- 支持图片参数设置,包括亮度、对比度、饱和度、锐度等。
- 支持Qt4和Qt6任意Qt版本以及后续Qt版本,亲测Qt4.7.0到Qt6.2。
- 支持任意编译器,亲测mingw、msvc、gcc、clang。
- 支持任意操作系统,亲测xp、win7、win10、android、linux、嵌入式linux、树莓派全志H3等。
- 支持任意Onvif摄像机和NVR,亲测海康、大华、宇视、天地伟业、华为、海思芯片内核等,可定制开发。
- 支持对指定IP地址及onvif地址进行单播搜索,比如跨网段情况下非常有用。
- 支持指定过滤条件过滤搜索设备。
- 支持搜索间隔和搜索策略设置,保证所有设备搜索回来,在大量设备现场很有用(亲测上千个摄像机现场,搜索回来的设备数量比摄像机厂家自带搜索工具还要准确)。
- 可对设备进行重启、网络参数获取等。
- 支持各种事件订阅、Onvif抓图等操作。
- 支持NTP校时和时间同步设置。
- 内置了线程实时执行Onvif指令队列,排队最大速度的执行对应的指令,执行结果信号发出。
- 采用的最底层的TCP+UDP通信机制,原创最底层协议解析,纯QtWidget编写。
- 超级小巧轻量,总共约3000行代码,不依赖任何第三方的库和组件,跨平台。
- 封装好了通用的数据发送和接收解析的函数,可以非常方便的自行拓展其他Onvif处理。
- 工具上提供了收发数据文本框,显示收发的数据,方便查看和分析。
- 支持所有Onvif设备,代码工整,接口友好,直接引入pri即可使用。
二、主要功能
- 搜索设备,获取设备的信息比如厂家、型号等。
- 获取设备的多个配置文件信息profile。
- 获取对应配置文件的视频流地址rtsp,以及分辨率等参数。
- 云台控制,上下左右移动,焦距放大缩小,相对和绝对移动。
- 获取预置位信息,触发预置位。
- 订阅事件,接收设备的各种消息尤其是报警事件比如IO口的报警。
- 抓图,获取设备当前的图片。
- 获取、创建、删除用户信息。
- 获取和设备网络配置信息比如IP地址等。
- 获取和设置NTP时间同步以及设置设备时间。
- 获取和设置视频参数和图片参数(亮度、色彩、饱和度)。
- 重启设备。
三、云台说明
- x、y、z 范围都在0-1之间。
- x为负数,表示左转,x为正数,表示右转。
- y为负数,表示下转,y为正数,表示上转。
- z为正数,表示拉近,z为负数,表示拉远。
- 通过x和y的组合,来实现云台的控制。
- 通过z的组合,来实现焦距控制。
四、处理流程
- 绑定组播IP(239.255.255.250)和端口(3702),发送固定的xml格式的数据搜索设备。
- 接收到的xml格式的数据解析,得到设备的Onvif地址。
- 对Onvif地址发送对应的数据,收到数据取出对应的节点数据。
- 请求Onvif地址获取Media地址和Ptz地址,Media地址用来获取详细的配置文件,Ptz地址用来云台控制。
- ptz控制是对Ptz地址发送对应的数据即可。
- 设置了用户认证的需要组织用户token信息一块发送,每次都需要作鉴权处理。
- 接收到的数据不是标准的xml数据,带有前缀命名空间,解析的时候要注意。
- 每个厂家设备返回的数据未必完全一致,基本上都不一致,需要进行模糊查找节点值。
- 特意采用底层协议解析,因为soap太臃肿函数名称太另类,特意做的轻量级的。
- 两个必备工具,Onvif Device Manager 和 Onvif Device Test Tool。
五、使用说明
- 必须确认摄像机是支持onvif的摄像机。
- 搜索的时候选定正确的网卡,建议同一网段。
- 摄像机必须开启了onvif服务,很多摄像机为了安全性考虑默认可能不开启。
- onvif用户信息必须正确,一般摄像机onvif功能开启的地方可以添加用户。
- 在界面上输入用户名和密码的时候记得在界面中输入,不要在配置文件中输入,配置文件中存储的是密文。
- 图片参数的范围值有多种:0-100 0-128 0-255 如果发现设置不成功可以把值调小一点试试。
- 可以用国际官方工具(Onvif Device Manager 和 Onvif Device Test Tool)进行测试对比。
ID:65700602447032179f***n
![请添加图片描述](https://img-blog.csdnimg.cn/8417097e0b8845d6bd2af183e8580a25.jpeg) ![请添加图片描述](https://img-blog.csdnimg.cn/63b9081a62934378adb4d0551ec8fe40.jpeg) ![请添加图片描述](https://img-blog.csdnimg.cn/1660cbe390b2410f87a7f3ea166f96e1.jpeg)
Qt编写onvif搜索和云台控制工具源码相关推荐
- Qt编写安防楼宇对讲管理平台源码
Qt编写安防楼宇对讲管理平台源码 同时集成了楼宇对讲.住户报警.门禁控制.公共报警.视频监控等模块. 系统管理部分包括系统配置.对讲配置.住户配置.公共配置.监控配置.地图管理.视频联动.用户管理.区 ...
- qt编写网易云界面(16)---- 源码与感想
前言: 网易云这个项目弄完了,不知道为何,做完后有点点失落感,当时没有考虑到后面会有小伙伴们想要学习这个代码,所以在项目开始的时候做的非常错乱,很多现在看看都是非常低级的问题. 这个项目算是刚接触qt ...
- onvif协议之云台控制
onvif云台控制,还有有点麻烦的,主要是不知道参数如何填写,通过接近一天的摸索,终于有点名目了. 我使用的是ContinuousMove这个api,介绍如下,网址https://www.onvif. ...
- Python+Qt抽奖点名工具源码窗体程序
程序示例精选 Python+Qt抽奖点名工具源码窗体程序 如需安装运行环境或远程调试,见文章底部微信名片,由专业技术人员远程协助! 前言 这篇博客针对<Python+Qt抽奖点名工具源码窗体程 ...
- 翻译python代码的软件_Linux环境下的Python翻译工具源码
玩蛇网Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解. 学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用. ...
- c语言打印空心数字图形,(完整word版)C语言编写打印实心和空心菱形【源码】
<(完整word版)C语言编写打印实心和空心菱形[源码]>由会员分享,可在线阅读,更多相关<(完整word版)C语言编写打印实心和空心菱形[源码](13页珍藏版)>请在人人文库 ...
- Python与Seo工具源码,全网搜录查询助手exe
Python与Seo工具源码,全网搜录查询助手exe 很多人都说,seo是一个玄学,诚然,一方面是排名,另一方面是收录,尤其是对于渣渣而言,当然收录和排名都需要去验证,去查询,乃至去监控,大批量的话, ...
- 网站站长综合seo在线查询工具源码
介绍: 网站综合网查询工具源码站长seo综合查询工具提供网站收录查询和站长查询 以及百度权重值查询等多个站长工具,免费查询各种数据,包括收录量.反链. 域名Whois查询.ping查询.子域名查询.服 ...
- SSL 自签证书工具源码
简介: HTTPS/SSL证书自签源码,喜欢就下载吧. 这是一款免费的SSL证书自签工具源码,可随时随地签发SSL证书,运行环境:你的 PHP 必须 >=5.6,且安装了 OpenSSL 扩展, ...
- python qt gui快速编程_《PYTHON QT GUI快速编程 PYQT编程指南》源码
文件名大小更新时间 <PYTHON QT GUI快速编程 PYQT编程指南>源码\chap01\answers.txt9882007-06-27 <PYTHON QT GUI快速编程 ...
最新文章
- Java 修饰符的总结
- android 校讯通 源码,校讯通Android版使用说明.doc
- VS2002 与 IIS6.0的一个bug
- VTK:平面源用法实战
- Sentinel(二)之Quick Start
- 【python教程入门学习】零基础想转行学python,过来人提醒大家几点
- java中的string类型_Java中的字符串类型(String)
- php对产品添加属性,php – Woocommerce:使用现有属性为现有产品添加变体
- win7禁用powershell_简述Windows 7中的Windows PowerShell功能
- 注意力机制介绍(attention)
- ubuntu16.04安装opencv3.3
- 2021-10-11 全国大学生软件测试大赛赛前学习参考资料
- 国内好的破解软件下载站
- 计算机专硕都是数二英二吗,【专硕初试】大改革?英二、数二都不考了?
- 伽卡他卡学生端卸载方案
- python修改快捷键_Pycharm快捷键设置 更换或者增添快捷键 设置字体放大缩小快捷键...
- 转载 Latex各种命令、符号、公式、数学符号、排版(非常详细)
- oracle安装点下一步退出,学习笔记:oracle之win10安装卸载oracle 11gR2步骤及常见问题解决...
- arduino UNO利用74hc595级联控制16个LED状态
- tensorflow中的shape函数理解