由于在工作中碰到一個需求,需要在播放視頻的過程中根據外部情況對視頻畫面進行旋轉,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庫