首页| 论坛| 消息

标题:Qt开发国产视频监控系统/手撕代码实现/加密保存播放记录/支持kylin和uos国产系统
作者:liudianwu
日期:2025-11-12 07:48
内容:

## 一、前言说明
视频监控系统采用纯Qt+ffmpeg实现,所有UI用的QWidget,外观这块主要是qss+自定义控件,ffmpeg负责解码,尤其是支持硬解码,然后解码出来的yuv和nv12数据用qpainterwidget展示,硬解码+GPU绘制这个组合非常高效,在各个系统和平台上测试下来,资源占用低,性能极好。
整个监控系统,能够拿的出手的细节数不胜数,至少200个,是不是很惊讶哪来的这么多细节?因为本监控系统好歹也是开发了十几年,一直在实际现场N多用户无数复杂的场景使用,光用户提出来的合理的实际需求,起码能打印十张A4纸,正是因为有这些实际场景的反馈,才能不断迭代,发展到今天,无数个日日夜夜做过无数的调整,修复bug,增加人性化操作处理,其中加密保存播放记录就是其中一个小细节。
一开始并没有播放记录的处理,后面用户希望重新打开监控系统后,能够主动加载上一次没有关闭的画面,而不是让用户又去双击通道打开,所以单独做了个开关saveurl,开启后就会自动将最后的画面的媒体地址保存到url.txt文本文件,前面有对应的通道序号,下次软件启动后,先读取这个文件,依次去打开视频通道。后面实际使用过程中发现问题,毕竟现场都是外接的监控摄像头,都是个带用户鉴权新的rtsp地址,明文存储在文本文件,很容易泄露,增加摄像头的风险,所以必须有密文存储的机制,加载的时候解密转换成真实的url地址。实现完成后,还特意做了个开关,需要这个功能的时候开启,默认关闭,因为很多用户又希望直接从播放记录文件复制地址放到vlc播放器验证。
## 二、效果图

## 三、相关地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 文件地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_system
## 四、功能特点
1. 视频监控主界面采用停靠窗体模式,所有功能以可拖拽的小模块形式集成,支持任意自定义模块加入。
2. 所有停靠模块(如设备列表、图文警情、窗口信息、云台控制、预置巡航、视频轮询、 ..

回复 发表
主题 版块