标题:Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储
作者:liudianwu
日期:2023-12-06 10:03
内容:
## 一、前言
本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一些周边的处理比如贴OSD,做图片分析等。拉流显示是第一步,如果有跨平台的需求,个人推荐用ffmpeg去实现,毕竟ffmpeg很底层,在做的过程中可以了解很多音视频的知识,缺点就是难,很多都是需要自己用代码去处理,按照ffmpeg自己的规范去处理。如果没有任何音视频基础,而又希望在短时间内完成拉流显示,推荐选用vlc/mpv/mdk这三个,这三者底层几乎都和ffmpeg有关系,但是封装的比较好,易用性好,基本上都是几行代码即可实现。
视频播放组件本身集成了多种内核,比如qmedia/ffmpeg/vlc/mpv/mdk/海康sdk/easyplayer等,通过花了一年多时间搭建的播放组件框架,双重继承的机制,可以非常方便的增加一种新的内核,这就使得本组件非常灵活,同时又具有灵活性,不仅从底层就具备了共享解码线程的能力,而且多屏渲染极低CPU占用也都有实现处理。同时还是动态切换内核,使得在监控系统可以对每个视频拉流指定不同的解析内核,比如通用的地址可以采用ffmpeg解码,海康的设备可以选择海康sdk解码,大华的设备采用大华的sdk解码,到安卓上可以切换到mdk解码(内置了硬解/性能极其彪悍)。
## 二、效果图
## 三、体验地址
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_demo。
## 四、功能特点
### 4.1. 基础功能
1. 支持各种音频视频文件格式,比如mp3、wav、mp4、asf、rm、rmvb、mkv等。
2. 支持本地摄像头设备和本地桌面采集,支持多设备和多屏幕。
3. 支持各种视频流格式,比如rtp、rtsp、rtmp、http、udp等。
4. 本地音视频文件和网络音视频文件,自动识别文件长度、播放进度、音量大小、静音状态等 ..
#1 [shokokawaii 12-11 22:36]