由于在工作中碰到一个需求,需要在播放视频的过程中根据外部情况对视频画面进行旋转,Android 原生的MediaPlayer不具备该功能,所以采用ffmpeg来实现。在工作中由于时间关系,写得比较匆忙,想对代码进行整理和完善,自己也一直想能写点东西.所以有了写一个关于ffmpeg专题的想法, 同时对播放器进行完善, 使自己实现的播放器能和MediaPlayer简单切换。
专题分为5个部分:
- 播放器基础知识
- Android基础知识,主要是Android MediaPlayer会涉及到的一些知识
- Android MediaPlayer的框架流程,代码分析
- ffmpeg 的知识
- 一步一步用ffmpeg搭建android播放器
刚开始还没有完整思路,先写一点点,后面一点一点维护.

- Android MediaPlayer系列 
 MediaPlayer(一)--Android MediaPlayer的使用方法
 MediaPlayer(二)--MediaPlayer基本框架
 MediaPlayer(三)--C++ binder框架
 MediaPlayer(四)--MediaPlayer()流程
 MeidaPlayer(五)--setDataSource(String path)流程
 MeidaPlayer(六)--setDisplay流程
 MediaPlayer(七)--prepareAsync
 MediaPlayer(八)--start()流程
 MediaPlayer(九)--reset()流程
 MediaPlayer(十)--release()流程
 MediaPlayer(总结)--从对象生命周期理解MediaPlayer状态
- 播放器基础知识 
 播放器基础 -- 名词介绍
 播放器基础--组成模块
 播放器基础--颜色空间
 播放器基础--YUV色彩模型
 播放器基础--OpenSL ES音频播放
 H264系列--压缩编码必要性和冗余
 H264系列--简单的视频编码历史介绍
 H264系列--压缩编码技术
 H264系列--码流组成和分层结构
- FFMpeg 
 FFmpeg--简介
 FFmpeg--编译Android库
 FFmpeg--时间基准
 FFmpeg--avfilter简介
- Android 基础 
 Android基础--智能指针
 C++ Binder机制学习(转载)
 Android基础--SurfaceView, Surface, SurfaceHolder
 Android基础--JNI
 JNI介绍
 JNI函数加载
 JNI线程相关
 JNI回调Java
 Android基础--利用ANativeWindow显示视频
- 搭建FFMpeg Android播放器
 搭建ffmpeg player -- 整体思想介绍
 搭建ffmpeg player(一)--搭建上层框架
 搭建ffmpeg player(二)--导入ffmpeg库










