QT开发的视频监管平台分享

feiyangqingyun
企业官方账号
博客专家认证
2014-12-27 05:12:55
用QT陆续写过几个商业项目以及公司内部硬件通信需要的一些辅助设置工具,其中以报警视频联动管理平台为主,从2010年的C#版本开始编写,陆续完善积累到2014年的稳定版,花了相当多的精力去完善,不断查看同行的相关软件功能,吸取优秀的功能,摒弃无用的功能,用易用简洁全完善每一个细节。
今天要分享的是给某区安全管理中心编写的视频监管平台,稍后会放出QT4-QT5各版本可完整编译运行的源码。
按照习惯,首先上一张主界面截图:
XP下运行截图:

Win7下运行截图:

Ubuntu下运行截图:

整个系统在开始架构的时候,本人都是写在草稿纸上的,包括布局,功能点,需要注意的处理等方面,现在要重新一一仔细写出来,还真不容易,这里就说个大概,然后将其中的部分功能处理用代码描述。
项目需求:某区下面有几百所学校,每个学校都有若干台NVR或者DVR,每台NVR和DVR都挂接着N个IPC(摄像机)(包括网络摄像机和模拟摄像机),现在需要对所有学校的监控进行查看以及回放和轮询,能够对指定学校进行视频监控,对所有学校的视重点部位视频进行查看轮询,可自定义轮询时间等。
开发过程:本着尽量追求简洁的要求,最终编写了如上图的主界面。没有采用QT自带的界面,而是重写了界面,自定义无边框拖动,自由换肤,全部采用QSS控制,本人从官网http://qt-project.org/doc/qt-4.8/stylesheet-examples.html彻底学习了下QSS的规则,整理了一套通用的换肤方案。

功能点罗列:
1:只限定一个实例处理。
2:F1键进入全屏模式,Esc键退出全屏模式。
3:支持QT4到QT5各个版本编译运行。
4:精心编写的通用的excelhelper类,独创的不依赖任何office组件的导出数据到表格的处理,通用任何excel版本。
5:7套精美样式换肤,整体界面换肤。
6:自带中文翻译文件。
7:基本常用的数据库处理,添加删除修改操作,表格显示。
8:QTreeView及QTableView数据加载和双击处理。
9:16通道画面展示区域处理,自由切换1画面4画面9画面16画面。

11:QTableView列宽自动计算按比例分配,按照分辨率比例显示字段,适用任何分辨率电脑。

12:精美开关按钮。

13:重写过的消息框,错误框,询问框及输入框。
14:所有代码精简重构,并带有注释,初学者都可以看懂和学会。
15:fontawesome图形字体的使用,为界面增添色彩。

可执行文件下载:http://pan.baidu.com/s/1hqxhtbA
源码下载:http://pan.baidu.com/s/1mgFWeDU
编译运行后如果提示缺少数据库。将源码下的file文件夹下的配置文件config.txt及VM.db数据库文件复制到bin目录下即可。

...全文
2705 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
youthcolor 2017-09-12
  • 打赏
  • 举报
回复
大神弄否发个完整源码 小弟请客 124300326@qq.com
刘大成 2017-09-08
  • 打赏
  • 举报
回复
为什么我点击进入全屏就崩溃? void Video::screen_full() { this->setGeometry(qApp->desktop()->geometry()); this->layout()->setContentsMargins(0, 0, 0, 0); ui.widget_main->layout()->setContentsMargins(0, 0, 0, 0); ui.widget_tltle->setVisible(false); ui.treeWidget->setVisible(false); }
chengzhanyun5164 2017-05-09
  • 打赏
  • 举报
回复
大神请问一下 bin目录在哪
夫哂之 2017-04-05
  • 打赏
  • 举报
回复
很势厉害 前来膜拜
qq_35600142 2016-10-15
  • 打赏
  • 举报
回复
厉害,非常值得我学习!
kaza_jin 2015-10-16
  • 打赏
  • 举报
回复
大牛啊 膜拜
ganjianh8 2015-01-04
  • 打赏
  • 举报
回复
视频渲染你是直接YUV渲染 还是通过YUV转RGB用QT控件来渲染?
feiyangqingyun 2015-01-02
  • 打赏
  • 举报
回复

公开的源码去除了视频处理部分及样式部分,其余功能全部保留,并可完整编译运行。如果需要完整版本,可以私聊,这套系统可以当一个小型的视频监控系统用,比较完美,很少BUG。视频处理部分摸索了很久,曾经愿意花3000元购买类似解决方案无果,找到一家愿意以8000元的价格出售,无奈价格太高,整个私活的钱都不够,所以还是自己通宵费劲心思花了几个月时间调试研究了出来。
mingxinke 2014-12-31
  • 打赏
  • 举报
回复
泪奔,感谢楼主分享,很多功能想自己实现都没有完成,32个赞!
ganjianh8 2014-12-31
  • 打赏
  • 举报
回复
这个貌似不能播放视频 解码并播放视频是比较关键核心的一部分 以后能否更新一份能同时解码并播放16路的,这个更值得学习
oldmtn 2014-12-30
  • 打赏
  • 举报
回复
顶。。。 很强大
wuleeemail 2014-12-27
  • 打赏
  • 举报
回复
不好意思,看到了,谢谢!
wuleeemail 2014-12-27
  • 打赏
  • 举报
回复
你好,“编译运行后如果提示缺少数据库。将源码下的file文件夹下的配置文件config.txt及VM.db数据库文件复制到bin目录下即可”,你说的bin目录是哪个目录?QT下的,还是自己生成一个?我都试了,程序还是不能运行。
foruok 2014-12-27
  • 打赏
  • 举报
回复
看起来不错哦。
2022年11月4日-2022年11月14日购买当前课程赠送课程学习地址如下:https://edu.csdn.net/course/detail/32434https://edu.csdn.net/course/detail/35658https://edu.csdn.net/course/detail/30223https://edu.csdn.net/course/detail/32408https://edu.csdn.net/course/detail/32429注:因赠送课程不会出现在已订阅课程列表中,以下课程学习地址一定要收藏保存。#课程服务 在线答疑:本课程设有专门的讨论留言区,学习中遇到任何问题,直接给老师留言即可,老师都会及时进行回复。远程协助:如果遇到复杂问题,老师还可进行远程协助,这个一般可不是一两百元的课程就能享受到的。源码分享:为了让大家更好的进行项目实战,老师还将课程中涉及到的所有源码分享给学员,按照视频中的提示进行下载即可。在CSDN分享C++ Qt开发知识已经有6年了,感谢众多博友对我的支持,了解到很多人对Qt的使用还是有些困扰,例如Qt环境搭建,Qt布局的使用,如何使用Qt编写复杂的界面,如何自定义非标控件,Qt如何和Web交互,Qt和后台接口如何交互等;经过这几年的整理,我决定出这套《Qt高级开发视频教程》,带领大家学习Qt高级开发知识,学习如何使用Qt开发企业级别的项目;通过本课程的学习,大家将会达到企业招聘的中高级要求。为了照顾零基础学员,本课程第一章会介绍Qt环境搭建、QtCreator / VS2019的基本使用方法,Qt整体架构、Qt信号机制,Qt内存管理等知识。即使没有Qt开发的学习经验,也能跟着课程顺利学习。课程核心知识点地图如下: 课程每章核心知识点介绍如下: 第一章:介绍Qt环境搭建、QtCreator / VS2019的基本使用方法,Qt整体架构、Qt信号机制,Qt内存管理等知识。第二章:了解到很多学员对于Qt界面布局很不熟悉,将会详细介绍Qt设计器布局,以及如何C++代码手写布局,从常见的企业级项目入手,带领大家学会各种布局的实现,例如WPS、腾讯会议、优酷、迅雷等界面的实现;界面布局会了,这是企业项目开发的第一步,还有更重要的无边框窗口,如何设计一个合理的无边框窗口很重要,第三/四章:详细介绍如何实现一个无边框窗口,如何自定义标题栏,如何实现拖拽拉伸;第四章将会介绍如何自定义非标控件,优化Qt界面。第五章:介绍Qt web混合编程,一个商用项目,必然会涉及到web交互,这也是很多Qt开发者的弱项,这一章讲详细介绍C++ Qt web混合开发。第六章:既然是做企业级项目,必然需要和后台交互,http编程也是必要的,将详细介绍http编程,用户注册,登录,后台接口请求等知识;通过第五、六章的学习,将会是你的Qt开发技术更上一层楼。第七章:介绍Qt并发编程,耗时任务处理,进程调用等知识。第八、九章:讲解 Qt 比较重要的知识,图形视图结构,以及MVD模式;通过这两章的学习,大家会对图形视图有更好的了解。第十章:本章是独立章节,主要介绍Qt中一些特殊技巧,项目编译,dpi适配、多语言等知识。第十一章:是我们的企业级项目实战:实现一个视频会议客户端,本项目可以进行多人视频通话,直播,桌面分享等功能,本项目我会从零开始,进行项目搭建,功能调试,bug fixed, 带领大家做一个企业级项目。希望通过本课程的学习,大家的C++ Qt开发技术能有质的飞越,能找到自己心仪的工作。课程中如果讲的不对的地方,请大家指出,我及时修正,我也只是一个普通开发者,也不是所有的技术都会,尽我所能,把我所会的教给大家,让我们一起为Qt的发展,尽一份绵薄之力。 下面是本课程一些项目的截图: 1 可以滑动的设置界面         2 所有图形的绘制       3 视频播放器          4 高仿youku界面         5 视频会议         相信通过本课程的学习,大家有能力实现绝大部分客户端项目,从此用C++ Qt再也不会有难写的界面。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧