标题:Qt编写可视化大屏电子看板系统31-模块9视频监控
作者:liudianwu
日期:2022-03-29 09:09
内容:
## 一、前言
视频监控模块采用ffmpeg作为解码内核,可以在系统设置中填入一个视频地址,同时支持本地视频文件、USB摄像机、远程onvif摄像机(海康大华等)、网络视频地址,大屏系统中默认有一个视频监控,如果需要显示多个则new多个视频监控模块即可,在本系统中每个最小单元的小模块都是一个类,需要多少个就可以new多少个出来显示,二级模块作为一个悬停窗体嵌入主界面mainwindow,都可以拖动到任意位置自动嵌入。
视频监控模块有多个参数设置,以便用户设置,最开始做的是内置的写死在代码中,后面随着用户场景的变化,留出参数用户设置更灵活,参数如下:
- 视频拉伸:有些客户需要拉伸填充有些需要等比例缩放;
- 视频回调:有些板子或者电脑没有opengl或者版本过低需要开启视频回调才能正常绘制图像;
- 播放音频:开启后会播放视频和视频流中的声音;
- 视频循环:开启后播放视频完成后会立即重复播放;
- 超时时间:打开视频的超时时间,有些网络地址需要设置久一点;
- 通信方式:视频流采用TCP还是UDP协议播放;
视频监控内核功能特点:
1. 多线程实时播放视频流+本地视频+USB摄像头等。
2. 支持windows+linux+mac,支持ffmpeg3和ffmpeg4,支持32位和64位。
3. 多线程显示图像,不卡主界面。
4. 自动重连网络摄像头。
5. 可设置边框大小即偏移量和边框颜色。
6. 可设置是否绘制OSD标签即标签文本或图片和标签位置。
7. 可设置两种OSD位置和风格。
8. 可设置是否保存到文件以及文件名。
9. 可直接拖曳文件到ffmpegwidget控件播放。
10. 支持h265视频流+rtmp等常见视频流。
11. 可暂停播放和继续播放。
12. 支持存储单个视频文件和定时存储视频文件。
13. 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。
14. 可设置画面拉伸填充或者等比例填充。
15. 可设置解码是速度优先、质量优先、均衡处理。
16. 可对视频进行截图(原始图片)和截屏。
17. 录像文件存储支持裸流和MP4文件。
18. 音视频完美同步,采用外部时钟同步策略。
19. 支持seek定位播放位置。
20. 支持在线网络音视频文件比如http开头mp4、mp3结尾的。
21. 可选句柄模式(GPU绘制)、回调模式(QPainter绘制)。
22. GPU绘制模式同时支持拉伸和等比例绘制。
23. 支持qsv、dxva2、d3d11va等硬解码。
24. 硬解码和GPU组合,超低CPU占用,支持64路视频。
25. 支持安卓和嵌入式linux,交叉编译即可。
## 二、功能特点
1. 采用分层设计,整体总共分三级界面,一级界面是整体 ..