基本概况
利用Android的SurfaceView + JNI + OpenGL + OpenSL +ffmpeg所做的一个本地视频播放器;
其实去年底在学习音视频知识的时候就做完了这个Demo,但一直想找时间改进并且拖着没有记录成博客,最近在复习音视频知识,希望能够把这个项目重新熟悉一下,顺便记录下来


完成功能:
- 解析本地视频音频和视频
- 音视频同步
- 暂停恢复播放
- 支持拖动播放
基本结构:
- MediaPlayerController 负责对外jni接口
- MediaSynchronizer 同步模块
- TextureQueue 内部有队列缓存视频帧,负责存入VideoFrame、转换为TextureFrame和对外提供TextureFrame
- AudioQueue 内部有队列缓存音频帧
- MediaDecoder 音视频解码器
- VideoOutput 视频输出
- AudioQueue 音频输出