# ffmpeg硬解+opengl显示 **Repository Path**: byxdaz/ffmpeg--hw--opengl--qt ## Basic Information - **Project Name**: ffmpeg硬解+opengl显示 - **Description**: 利用ffmepg解码视频(支持软解、硬解),QT中OpenGL显示视频图像。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2025-03-24 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### ffmpeg硬解+opengl播放器 #### 介绍 ​一个基于 ‌FFmpeg 4.x‌ 和 QOpenGLWidget的简单视频播放器。 #### 软件架构 ​一个基于 ‌FFmpeg 4.x‌ 和 Qt‌5.9.x,QOpenGLWidget的简单视频播放器代码示例,实现视频解码和渲染到 Qt 窗口的功能。 1)ffmpeg库界面,视频解码支持软解和硬解方式。 2)显示帧数据采用QOpenGLWidget。 class FrameOpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions{ } 该类支持YUV420P、NV12、RGB帧数据显示。在这种数据之间切换时,调用类中​setFrameDataFormat方法切换。 3)解码后,根据码流类型,更新opengl初始化纹理。以便显示YUV420P、NV12、RGB数据。 码流类型改变后,发送信号出去,UI槽中调用setFrameDataFormat,更新opengl初始化纹理。(因为opengl初始化纹理是非线程安全的,需要在UI或同FrameOpenGLWidget线程中处理。) 4)解码播放时间同步控制。 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)