您现在的位置是:课程
OpenGL 实现视频播放(FFMpeg)
2023-06-29 20:43课程 人已围观
课程目标
介绍如何采用OpenGL渲染视频帧数据,
从固定管线到可编程管线一次实现,
采用PBO实现DMA数据传输处理,
以及简单的视频特效的实现。
适用人群
软件开发人员,OpenGL从业者 学生
课程简介
课程采用FFMpeg作视频解码,采用OpenGL实现视频的渲染,
从RGB数据的绘制,到直接渲染YUV数据,实现三路YUV数据单纹理的输入,
提升系统性能,接着采用PBO方式优化内存到显存的传输,实现DMA传输,
解放CPU,将解码和渲染分离到不同的线程中,极大的提升了系统的性能。
最后介绍视频特效的实现。
课程详情请看第一节课程介绍,
课程包含但不限于以下知识点:
第1章FFMEPG-基础
1-1.环境的建立
1-2.窗口的建立
1-3.FFMPEG学习
1-4.实现视频播放
1-5.多线程解码
1-6.线程死锁的处理
1-7.类的封装
1-8.播放速率的控制
第2章OpenGL渲染
2-1.OpenGL环境的建立
2-2.OpenGL绘制视频
2-3.OpenGL绘制视频2
2-4.可编程管线的实现
2-5.shader实现YUV-RGB转换
2-6.YUV-GPU实现
2-7.实现单纹理YUV的数据的传输
2-8.实现单纹理YUV的数据的传输2
2-9.采用PBO传输YUV数据到显卡
2-10.采用双PBO传输YUV数据到显卡
2-11.bug的修正
第3章特效-Effect
3-1.特效的介绍
3-2.实现多路输入过渡特效
3-3.实现多路输入过渡特效bug修正
本课程在OpenGL系列课程中的定位在下表中:
1 | C++ 程序设计 | 1-编程语言-入门 |
2 | C++ 中搭建Lua脚本系统开发框架 | 2-编程语言-脚本系统 |
3 | OpenGL ES2.0 基础精讲 | 3-移动图形1-入门 |
4 | OpenGL ES2.0 中级篇 | 3-移动图形2-进阶 |
5 | OpenGL 实战编码设计 | 3-桌面图形1-入门 |
6 | OpenGL 全面解析OpenGL-Shader语言 | 3-桌面图形2-进阶 |
7 | OpenGL 3D图形学理论-实现OpenGL精简内核 | 3-桌面图形3-提升 |
8 | WebGL 基础篇-坚如磐石 | 3-网页图形1-入门 |
9 | 软件实战-Google地图下载器制作 | 4-实战项目-GIS |
10 | 软件实战-Google地图瓦片的绘制,漫游 | 4-实战项目-GIS |
11 | 软件实战-实现shapefile的绘制 | 4-实战项目-GIS |
12 | 三维引擎开发-图形数理基础 | 4-实战项目-三维引擎 |
13 | 三维引擎开发-摄像机操作 | 4-实战项目-三维引擎 |
14 | 三维引擎开发-GUI设计与实现 | 4-实战项目-三维引擎 |
15 | 三维引擎开发-场景编辑器 | 4-实战项目-三维引擎 |
16 | 三维引擎开发-渲染 | 4-实战项目-三维引擎 |
17 | 软件实战-实现RGB到YUV420加速转换输出 | 4-实战项目-视频 |
18 | 软件实战-实现视频播放(FFMpeg) | 4-实战项目-视频 |
19 | 游戏实战-太空大战 | 5-实战项目-游戏 |
20 | 游戏实战-血腥大地-第一季(建立场景) | 5-实战项目-游戏1 |
21 | 游戏实战-血腥大地-第二季(资源破解与管理) | 5-实战项目-游戏2 |
22 | 游戏实战-血腥大地-第三季(怪物模型制作) | 5-实战项目-游戏3 |
每个课程的详细介绍,可以在套餐课程列表中,
点击对应课程,观看【第一节-课程介绍】了解。
套餐链接
ke./course/package/14996
上一篇:Qt入门到项目实战