Skip to content

Commit

Permalink
update OpenGL part
Browse files Browse the repository at this point in the history
  • Loading branch information
CharonChui committed Apr 17, 2024
1 parent e7a22a3 commit 1e85414
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions VideoDevelopment/OpenGL/1.OpenGL简介.md
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,23 @@ Android 通过其框架 API 和原生开发套件 (NDK) 来支持 OpenGL。
Android 框架中有如下两个基本类,用于通过 OpenGL ES API 来创建和操控图形:`GLSurfaceView``GLSurfaceView.Renderer`


#### 视频数据流

视频从视频文件到屏幕显示出来,Surface起到了非常重要的作用,在视频解码时,需要一个Surface作为
已解码数据的载体,保存播放器解码后的数据。

在显示时,需要另一个Surface作为已渲染数据的载体,保存OpenGL渲染后的数据,最后通过EGL显示在屏幕上。

数据流如下图所示:

![image](https://github.com/CharonChui/Pictures/blob/master/video_display_process.webp?raw=true)

- 解码器(MediaCodec或FFmpeg等)将视频文件中的视频编码数据解码成图像流放到Surface中。
- SurfaceTexture把Surface生成的图像流,转换为纹理
- OpenGL ES渲染纹理生成图形数据,放到GLSurfaceView中的Surface中
- EGL从Surface中取出图形数据,显示到屏幕上


### 参考

---
Expand Down

0 comments on commit 1e85414

Please sign in to comment.