陈江川

邮箱:jiangchuanc@gmail.com

直播/视频监控那点事

最近视频直播很火,然后网上就出现了各种的Demo,本人小白一枚,出于好奇,就开始研究Demo,其核心代码是基于ijkplayer框架。但是出现的几个视频直播Demo并没有就直播的整个内部实现作一个清晰的梳理。抱着虔诚心态,开始对整个内部实现的过程进行学习,并把这段时间的所获记录下来。

以下是我目前的学习步骤:
- 直播/视频监控的基础知识;
- 视频解码-FFmpeg;
- 图形显示OpenGL ES.

直播/视频监控的基础知识

直播基础知识

视频解码-FFmpeg

FFmpeg的水有点深,想对FFmpeg有快速的了解可以看看雷神的100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x),只看解码部分,里面对ffmpeg的解码过程阐述的很详细。

对解码有了初步了解后,再看看FFMPEG中最关键的结构体之间的关系,大致理顺ffmpeg内部结构体之间的关系。
ffmpeg内部结构体关系图

图形显示OpenGL ES

要把解码后的数据显示到手机屏幕上,这里就要使用OpenGL ES了。以前没有接触过,然后在网上各种找iOS方面的资源,对于没有接触过OpenGL ES的人来说,大多晦涩难懂,即使最简单的Demo,没有详细的讲解注释,也看不懂。

这里推荐《OpenGL+ES应用开发实践指南:iOS卷》,关于OpenGL ES方面的知识讲解,也是参考这本书。

« OpenGL ES 05-混合片元颜色 OpenGL ES 第三章 »