您现在的位置是:课程

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

-->

站点信息

  • 文章统计篇文章