使用了QT的QML设计界面,人机交互;
使用了FFmpeg 5.x + x264 + x265 + SDL2 完成了音视频的解析到播放;
阅读了ffplay的源码,用到了ffplay的核心思想.
想熟悉ffmpeg和ffplay的朋友,都可以参考学习.
特意录制了一些视频,帮助需要学习的小伙伴,一定要三连哦!!!!
博客介绍:
https://truedei.blog.csdn.net/article/details/128179054
特意录制了一些视频,帮助需要学习的小伙伴,一定要三连哦!!!!
特意录制了一些视频,帮助需要学习的小伙伴,一定要三连哦!!!!
特意录制了一些视频,帮助需要学习的小伙伴,一定要三连哦!!!!
B站视频:
《1、项目激情介绍(看完你不服,就不要说话)》
https://www.bilibili.com/video/BV1Nt421M7ng/
《2、如何编译fdk_aac库(看完不会你打我)》
https://www.bilibili.com/video/BV1af42117Fz
《3、SDL库的编译(看完不会你揍我)》
https://www.bilibili.com/video/BV1VM4m1y76F
《4、如何编译libx264库(看完不会你拍我)》
https://www.bilibili.com/video/BV1eT421D7N2
《5、如何编译libx265库(看完不会你捏我)》
https://www.bilibili.com/video/BV1BZ421x7hR
《6、如何编译ffmpeg库并把需要的库集成进来(看完不会你掐我)》
https://www.bilibili.com/video/BV1Ti421X7tX
功能展示请看: 功能展示
-
1.主界面
-
2.通过中心的按钮选择媒体文件
-
3.通过菜单打开文件
-
4.开始播放
-
5.暂停播放
-
6.继续播放
-
7.快进
-
8.快退
-
9.静音
-
10.调整音量
-
- 时时进度条和时间显示
-
12.停止播放
-
13.切换背景图
编程语言:C、C++;
主要技术:QT5+qml;
视频相关:ffmpeg,视频解码;
多线程等。
2021.12.7 :
可以暂停和开始播放了;
停止播放还存在问题,明天需要解决。
2021.12.8:
1、支持了停止播放的功能;
2、计算出来了总时间,还未显示到UI中。
3、明天需要显示到UI中,然后计算正在播放的时间。
2021.12.9: 1、UI中可以显示出来视频的总时间; 2、UI中显示出来了正在播放的时间(感觉不太准,有待提高);
2022.11.4:终于有时间来完结了
-
1.清理了无用代码,重新规整了代码结构;
-
2.解决了播放器时间进度条更新卡顿现象的BUG;
-
3.优化了视频播放时间轴的进度条样式;
-
4.优化了音量样式;
-
5.增加了音量保存功能;
-
6.增加了进度条在无播放的状态下禁止拖动进度的功能;
- 1.支持播放器和照相机功能切换;
- 2.支持摄像头的播放功能;
- 3.支持摄像头的录像功能;
- 4.支持摄像头的拍照功能;
基础版本提交.
2022.12.4
-
1.音量控制(音量控制条拖动,音量静音);
-
2.停止播放;
-
3.快退播放;
-
4.快进播放;
-
5.暂停播放;
-
6.继续播放;
-
7.总时间/当前播放时间进度显示;
-
8.时时进度条;
-
9.进度条拖动控制播放;
-
10.通过UI中心打开视频文件/通过菜单打开视频文件;