海康威视SDK实例QtDemo显示NVR视频窗口(Linux+Qt)
海康威视SDK实例QtDemo显示NVR视频窗口(Linux+Qt)
陈拓 2021/07/312021/08/01
1. 概述
在《海康威视客户端iVMS-4200连接NVR》
https://zhuanlan.zhihu.com/p/395137370
https://blog.csdn.net/chentuo2000/article/details/119298486
一文中我们通过海康威视客户端iVMS-4200连接NVR。
本文我们通过海康SDK连接NVR。
2. 下载SDK
海康威视:https://www.hikvision.com/cn/
- 下载地址
https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10
- 文档下载
- 程序包下载
CH-HCNetSDKV6.1.6.45_build20210302_linux64_20210428163105.zip
- 解压
3. 安装QT
见《在Win10的Linux子系统Ubuntu中使用Qt》
https://zhuanlan.zhihu.com/p/393630007
https://blog.csdn.net/chentuo2000/article/details/119146380
4. 编译海康官方实例
4.1 复制实例文件
- 复制QtDemo
将前面下载的海康SDK中的文件夹QtDemo复制到我们在《在Win10的Linux子系统Ubuntu中使用Qt》一文中创建的目录hk中。
在WSL中的目录hk
对应Win10的目录:
C:\Users\admin\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ccdc\hk
- 修改权限
chmod -R 755 QtDemo
- 复制库文件
进入QtDemo
查看qt_demo_readme.txt
将SDK/lib下所有so文件拷贝到QtDemo/Linux64/lib
修改权限
chmod -R 755 Linux64/lib
4.2 编译
- 进入目录Linux64
- 运行Qt Creator
qtcreator
- 打开项目
File > Open File or Project…
选择项目,Open
- 编译
Build > Build All
有错误。
- 改错
实例代码是用Qt4.7编写的,我用Qt5,要修改代码,要修改的地方很多。
1) 修改编码
所以出现下面提示的地方都要改:
选择编码:
使用GBK编码,否则中文乱码。
2) QtGui/QDialog找不到
Qt版本的问题去掉QtGui/。还有很多同样的错误,所有出现这个错误的地方都要改。
3) error: 'UnicodeUTF8' is not a member of 'QApplication'
原因是:QCoreApplication::UnicodeUTF8已被弃用。解决方法:
修改
setText(QApplication::translate("MainWindow", "&Quitar", 0, QApplication::UnicodeUTF8));
为
setText(QApplication::translate("MainWindow", "&Quitar", 0);
4) error: ‘class QHeaderView’ has no member named ‘setResizeMode’
解决方法:
将 setResizeMode 替换为为 setSectionResizeMode
即将:
table->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
table->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
替换为
table->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
5) error: ‘setCodecForTr’ is not a member of ‘QTextCodec’
Qt5以前涉及到中文要用下面三行:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
Qt5删除了QTextCodec的成员函数setCodecForTr和setCodecForCStrings:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
解决方法,注释掉上面两行。
修改,编译,再修改,再编译,直到没有错误。
- 再编译
没有错误,警告不管它。
编译完成
4.3 运行
- 按F5或者点击左下角的Run按钮运行程序
- 右击device tree登录
登录设置:
OK
选择通道:
双击选择的通道:
- 实时监控Preview
- 回放Playback
海康威视SDK实例QtDemo显示NVR视频窗口(Linux+Qt)相关推荐
- 海康威视SDK控制台程序consoleDemo获取视频通道参数
陈拓 2021/08/27-2020/08/27 1. 概述 在<海康威视SDK控制台程序consoleDemo> https://zhuanlan.zhihu.com/p/4039038 ...
- 海康威视SDK控制台程序consoleDemo
陈拓 2021/08/10-2020/08/10 1. 下载海康威视SDK 见<海康威视SDK实例QtDemo显示NVR视频窗口(Linux+Qt)> https://zhuanlan.z ...
- 海康威视SDK控制台程序consoleDemo将实时码流保存为视频文件mp4
陈拓 2021/08/28-2020/08/29 1. 概述 在<海康威视SDK控制台程序consoleDemo> https://zhuanlan.zhihu.com/p/4039038 ...
- 海康威视SDK控制台程序consoleDemo获取码流
陈拓 2021/08/28-2020/08/28 1. 概述 在<海康威视SDK控制台程序consoleDemo> https://zhuanlan.zhihu.com/p/4039038 ...
- 海康威视SDK通过NVR获取视频设备的状态
海康威视SDK通过NVR获取视频设备的状态 前言 项目现场是通过NVR对多路摄像头设备进行集中管理,包括实时画面的预览和视频信号的存储.回放. 现在要实现这样一个功能:定期查询摄像头的状态,以确保摄像 ...
- java对接海康威视SDK(win64、linux64),处理播放实时流转码,按时间回放功能,附海康威视最新3.0摄像头监控web端实例+插件
java对接海康威视SDK(win64.linux64),处理播放实时流转码,按时间回放功能 准备工作 遇到的坑 调用步骤 参数配置 DeviceEnums 初始化sdk 注册 大华的sdk叫登陆海康 ...
- C++ 使用海康威视SDK将视频推流到rtmp服务器
研究FFmpeg有两三年了,一直没写过这方面的文章,今天记一下. 由于工作关系,需要将化工企业内部的视频发布到一个部署在公网的视频服务器,然后由相关人员浏览.由于是化工企业,企业严禁外部的机器直接访问 ...
- 爱奇艺视频窗口显示不出来解决办法
爱奇艺视频窗口显示不出来解决办法 一见 2014/4/11 22:30 1. 问题描述 自爱奇艺视频3.2版本以来,遇到爱奇艺视频窗口显示不出来,不管是从菜单.任务栏.桌面.还是通知栏点击,窗口都显示 ...
- QT开发小计:五、引入海康威视SDK开发视频监控系统环境搭建步骤及代码示例
1.新建项目: 标题 2.修改项目配置文件 .pro 增加内容: 3.导入头文件(*.h) 项目目录,新建文件夹 [include],从海康SDK把头文件拷出来 4.导入静态链接库文件(*.lib) ...
最新文章
- 允许Android随着屏幕转动的控制自由转移到任何地方(附demo)
- 擴展PictureBox的一個組件
- 银监会周末突发4号文件,18年贷款比想象的要难
- JavaScript的Function 类型
- 介质簇结构不正确_电动蝶阀的结构特征以及优点,值得看完
- 51单片机(STC15W408AS)映射printf函数 串口收发实现
- plist文件的读写
- 解决修改jsp代码之后,浏览器刷新页面却没有变化
- 遥感原理与应用_专家报告 | 叶绿素荧光卫星遥感—原理与应用
- php 取余数函数,PHP取余函数介绍MOD(x,y)与x%y
- deviceOrientation简介
- 计算机语言安装不上,安装程序包的语言不受系统支持该怎么办?解决方法教程...
- mysql 月初 月末_sqlserver 取取月初月末和月份间隔
- 互联网音乐告别版权战,音乐社区或成新风口?
- 第一个TensorFlow模型:摄氏度转换为华氏度
- SD卡分区教程 安卓手机SD卡分区
- 解决SSH连接不上的问题
- 固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异
- 浅尝辄止MongoDB:GridFS
- CMMI将能力成熟度分为5个级别