由于在工作中碰到一个需求,需要在播放视频的过程中根据外部情况对视频画面进行旋转,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库