# UPlayer **Repository Path**: xonghanwei/UPlayer ## Basic Information - **Project Name**: UPlayer - **Description**: No description available - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-02 - **Last Updated**: 2025-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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 # 功能列表 功能展示请看: [功能展示](./doc/show.pdf) + 1.主界面 + 2.通过中心的按钮选择媒体文件 + 3.通过菜单打开文件 + 4.开始播放 + 5.暂停播放 + 6.继续播放 + 7.快进 + 8.快退 + 9.静音 + 10.调整音量 + 11. 时时进度条和时间显示 + 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中心打开视频文件/通过菜单打开视频文件;