Qt编写onvif搜索和云台控制工具源码

一、功能特点

  1. 广播搜索设备,支持IPC和NVR,依次返回。
  2. 可选择不同的网卡IP进行对应网段设备的搜索。
  3. 依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。
  4. 可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。
  5. 可对每个设备设置Onvif用户信息,用于认证获取详细信息。
  6. 可实时预览摄像机图像。
  7. 支持云台控制,可上下左右调节云台,支持绝对移动、相对移动、连续移动三种方式,可对图像拉近拉远。
  8. 支持获取预置位集合、调用预置位、添加预置位、删除预置位等。
  9. 支持图片参数设置,包括亮度、对比度、饱和度、锐度等。
  10. 支持Qt4和Qt6任意Qt版本以及后续Qt版本,亲测Qt4.7.0到Qt6.2。
  11. 支持任意编译器,亲测mingw、msvc、gcc、clang。
  12. 支持任意操作系统,亲测xp、win7、win10、android、linux、嵌入式linux、树莓派全志H3等。
  13. 支持任意Onvif摄像机和NVR,亲测海康、大华、宇视、天地伟业、华为、海思芯片内核等,可定制开发。
  14. 支持对指定IP地址及onvif地址进行单播搜索,比如跨网段情况下非常有用。
  15. 支持指定过滤条件过滤搜索设备。
  16. 支持搜索间隔和搜索策略设置,保证所有设备搜索回来,在大量设备现场很有用(亲测上千个摄像机现场,搜索回来的设备数量比摄像机厂家自带搜索工具还要准确)。
  17. 可对设备进行重启、网络参数获取等。
  18. 支持各种事件订阅、Onvif抓图等操作。
  19. 支持NTP校时和时间同步设置。
  20. 内置了线程实时执行Onvif指令队列,排队最大速度的执行对应的指令,执行结果信号发出。
  21. 采用的最底层的TCP+UDP通信机制,原创最底层协议解析,纯QtWidget编写。
  22. 超级小巧轻量,总共约3000行代码,不依赖任何第三方的库和组件,跨平台。
  23. 封装好了通用的数据发送和接收解析的函数,可以非常方便的自行拓展其他Onvif处理。
  24. 工具上提供了收发数据文本框,显示收发的数据,方便查看和分析。
  25. 支持所有Onvif设备,代码工整,接口友好,直接引入pri即可使用。

二、主要功能

  1. 搜索设备,获取设备的信息比如厂家、型号等。
  2. 获取设备的多个配置文件信息profile。
  3. 获取对应配置文件的视频流地址rtsp,以及分辨率等参数。
  4. 云台控制,上下左右移动,焦距放大缩小,相对和绝对移动。
  5. 获取预置位信息,触发预置位。
  6. 订阅事件,接收设备的各种消息尤其是报警事件比如IO口的报警。
  7. 抓图,获取设备当前的图片。
  8. 获取、创建、删除用户信息。
  9. 获取和设备网络配置信息比如IP地址等。
  10. 获取和设置NTP时间同步以及设置设备时间。
  11. 获取和设置视频参数和图片参数(亮度、色彩、饱和度)。
  12. 重启设备。

三、云台说明

  1. x、y、z 范围都在0-1之间。
  2. x为负数,表示左转,x为正数,表示右转。
  3. y为负数,表示下转,y为正数,表示上转。
  4. z为正数,表示拉近,z为负数,表示拉远。
  5. 通过x和y的组合,来实现云台的控制。
  6. 通过z的组合,来实现焦距控制。

四、处理流程

  1. 绑定组播IP(239.255.255.250)和端口(3702),发送固定的xml格式的数据搜索设备。
  2. 接收到的xml格式的数据解析,得到设备的Onvif地址。
  3. 对Onvif地址发送对应的数据,收到数据取出对应的节点数据。
  4. 请求Onvif地址获取Media地址和Ptz地址,Media地址用来获取详细的配置文件,Ptz地址用来云台控制。
  5. ptz控制是对Ptz地址发送对应的数据即可。
  6. 设置了用户认证的需要组织用户token信息一块发送,每次都需要作鉴权处理。
  7. 接收到的数据不是标准的xml数据,带有前缀命名空间,解析的时候要注意。
  8. 每个厂家设备返回的数据未必完全一致,基本上都不一致,需要进行模糊查找节点值。
  9. 特意采用底层协议解析,因为soap太臃肿函数名称太另类,特意做的轻量级的。
  10. 两个必备工具,Onvif Device Manager 和 Onvif Device Test Tool。

五、使用说明

  1. 必须确认摄像机是支持onvif的摄像机。
  2. 搜索的时候选定正确的网卡,建议同一网段。
  3. 摄像机必须开启了onvif服务,很多摄像机为了安全性考虑默认可能不开启。
  4. onvif用户信息必须正确,一般摄像机onvif功能开启的地方可以添加用户。
  5. 在界面上输入用户名和密码的时候记得在界面中输入,不要在配置文件中输入,配置文件中存储的是密文。
  6. 图片参数的范围值有多种:0-100 0-128 0-255 如果发现设置不成功可以把值调小一点试试。
  7. 可以用国际官方工具(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搜索和云台控制工具源码相关推荐

  1. Qt编写安防楼宇对讲管理平台源码

    Qt编写安防楼宇对讲管理平台源码 同时集成了楼宇对讲.住户报警.门禁控制.公共报警.视频监控等模块. 系统管理部分包括系统配置.对讲配置.住户配置.公共配置.监控配置.地图管理.视频联动.用户管理.区 ...

  2. qt编写网易云界面(16)---- 源码与感想

    前言: 网易云这个项目弄完了,不知道为何,做完后有点点失落感,当时没有考虑到后面会有小伙伴们想要学习这个代码,所以在项目开始的时候做的非常错乱,很多现在看看都是非常低级的问题. 这个项目算是刚接触qt ...

  3. onvif协议之云台控制

    onvif云台控制,还有有点麻烦的,主要是不知道参数如何填写,通过接近一天的摸索,终于有点名目了. 我使用的是ContinuousMove这个api,介绍如下,网址https://www.onvif. ...

  4. Python+Qt抽奖点名工具源码窗体程序

     程序示例精选 Python+Qt抽奖点名工具源码窗体程序 如需安装运行环境或远程调试,见文章底部微信名片,由专业技术人员远程协助! 前言 这篇博客针对<Python+Qt抽奖点名工具源码窗体程 ...

  5. 翻译python代码的软件_Linux环境下的Python翻译工具源码

    玩蛇网Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解. 学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用. ...

  6. c语言打印空心数字图形,(完整word版)C语言编写打印实心和空心菱形【源码】

    <(完整word版)C语言编写打印实心和空心菱形[源码]>由会员分享,可在线阅读,更多相关<(完整word版)C语言编写打印实心和空心菱形[源码](13页珍藏版)>请在人人文库 ...

  7. Python与Seo工具源码,全网搜录查询助手exe

    Python与Seo工具源码,全网搜录查询助手exe 很多人都说,seo是一个玄学,诚然,一方面是排名,另一方面是收录,尤其是对于渣渣而言,当然收录和排名都需要去验证,去查询,乃至去监控,大批量的话, ...

  8. 网站站长综合seo在线查询工具源码

    介绍: 网站综合网查询工具源码站长seo综合查询工具提供网站收录查询和站长查询 以及百度权重值查询等多个站长工具,免费查询各种数据,包括收录量.反链. 域名Whois查询.ping查询.子域名查询.服 ...

  9. SSL 自签证书工具源码

    简介: HTTPS/SSL证书自签源码,喜欢就下载吧. 这是一款免费的SSL证书自签工具源码,可随时随地签发SSL证书,运行环境:你的 PHP 必须 >=5.6,且安装了 OpenSSL 扩展, ...

  10. python qt gui快速编程_《PYTHON QT GUI快速编程 PYQT编程指南》源码

    文件名大小更新时间 <PYTHON QT GUI快速编程 PYQT编程指南>源码\chap01\answers.txt9882007-06-27 <PYTHON QT GUI快速编程 ...

最新文章

  1. Java 修饰符的总结
  2. android 校讯通 源码,校讯通Android版使用说明.doc
  3. VS2002 与 IIS6.0的一个bug
  4. VTK:平面源用法实战
  5. Sentinel(二)之Quick Start
  6. 【python教程入门学习】零基础想转行学python,过来人提醒大家几点
  7. java中的string类型_Java中的字符串类型(String)
  8. php对产品添加属性,php – Woocommerce:使用现有属性为现有产品添加变体
  9. win7禁用powershell_简述Windows 7中的Windows PowerShell功能
  10. 注意力机制介绍(attention)
  11. ubuntu16.04安装opencv3.3
  12. 2021-10-11 全国大学生软件测试大赛赛前学习参考资料
  13. 国内好的破解软件下载站
  14. 计算机专硕都是数二英二吗,【专硕初试】大改革?英二、数二都不考了?
  15. 伽卡他卡学生端卸载方案
  16. python修改快捷键_Pycharm快捷键设置 更换或者增添快捷键 设置字体放大缩小快捷键...
  17. 转载 Latex各种命令、符号、公式、数学符号、排版(非常详细)
  18. oracle安装点下一步退出,学习笔记:oracle之win10安装卸载oracle 11gR2步骤及常见问题解决...
  19. arduino UNO利用74hc595级联控制16个LED状态
  20. tensorflow中的shape函数理解

热门文章

  1. 简单数据查询——单表无条件和有条件查询
  2. MYSQL 使用case when 完成对业务枚举的查询出参
  3. 未在此计算机上注册ActiveX控件!!!
  4. 《哲学与人生》的读书札记
  5. 【Python】一键爬取金庸连载版/三联版/世纪新修版小说
  6. EditPlus 3.7 中文版已经发布
  7. Python 求峰值
  8. pl sql面试题_PL SQL面试问答
  9. 解决Vue 2.0在IE11版本浏览器中的兼容性问题
  10. Pam x86_64 and i686 have conflicting man pages