Skip to content

Latest commit

 

History

History
189 lines (82 loc) · 3.24 KB

README.md

File metadata and controls

189 lines (82 loc) · 3.24 KB

QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器

使用了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.调整音量

    1. 时时进度条和时间显示
  • 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:终于有时间来完结了

version 1.0.2

  • 1.清理了无用代码,重新规整了代码结构;

  • 2.解决了播放器时间进度条更新卡顿现象的BUG;

  • 3.优化了视频播放时间轴的进度条样式;

  • 4.优化了音量样式;

  • 5.增加了音量保存功能;

  • 6.增加了进度条在无播放的状态下禁止拖动进度的功能;

version 1.0.1

  • 1.支持播放器和照相机功能切换;
  • 2.支持摄像头的播放功能;
  • 3.支持摄像头的录像功能;
  • 4.支持摄像头的拍照功能;

version 1.0.0

基础版本提交.

2022.12.4

  • 1.音量控制(音量控制条拖动,音量静音);

  • 2.停止播放;

  • 3.快退播放;

  • 4.快进播放;

  • 5.暂停播放;

  • 6.继续播放;

  • 7.总时间/当前播放时间进度显示;

  • 8.时时进度条;

  • 9.进度条拖动控制播放;

  • 10.通过UI中心打开视频文件/通过菜单打开视频文件;