Android 音視訊開發學習之路
一直欠大家一篇音視訊入門之路的文章,這篇文章是我見過寫的最詳細的一篇了,今天算還了哈。作者從入門、進階、探究分別編寫了一系列文章。
Android 音視訊開發這塊目前的確沒有比較系統的教程或者書籍,網上的部落格文章也都是比較零散的。只能通過一點點的學習和積累把這塊的知識串聯積累起來。
大連人流醫院哪家好 http://www.fkyy120.net
1初級入門篇
Android 音視訊開發(一) : 通過三種方式繪製圖片
http://www.cnblogs.com/renhui/p/7456956.html
Android 音視訊開發(二):使用 AudioRecord 採集音訊PCM並儲存到檔案
http://www.cnblogs.com/renhui/p/7457321.html
Android 音視訊開發(三):使用 AudioTrack 播放PCM音訊
http://www.cnblogs.com/renhui/p/7463287.html
Android 音視訊開發(四):使用 Camera API 採集視訊資料
http://www.cnblogs.com/renhui/p/7472778.html
Android 音視訊開發(五):使用 MediaExtractor 和 MediaMuxer API 解析和封裝 mp4 檔案
http://www.cnblogs.com/renhui/p/7474096.html
Android 音視訊開發(六): MediaCodec API 詳解
http://www.cnblogs.com/renhui/p/7478527.html
Android 音視訊開發(七): 音視訊錄製流程總結
http://www.cnblogs.com/renhui/p/7520690.html
初級入門篇主要是接觸Android多媒體展示相關的API,通過單獨的列舉和使用這些API,對Android音視訊處理有一個基本的輪廓,雖然知識點相對來說是比較散的,但是點成線,線稱面,基本的基礎掌握了,通過學習Android音視訊核心的API將音視訊的流程串聯起來,這樣對於音視訊的瞭解和控制就不僅僅侷限於最外層的API了,而是能夠通過相對底層的方式來加深對Android 音視訊開發的認知。
2中級進階篇
OpenGL ES 學習記錄
學習 Android 平臺 OpenGL ES API,瞭解 OpenGL 開發的基本流程,使用 OpenGL 繪製基本圖形,並瞭解相關的API的簡單使用
Android OpenGL ES 開發(一): OpenGL ES 介紹
http://www.cnblogs.com/renhui/p/7994261.html
Android OpenGL ES 開發(二): OpenGL ES 環境搭建
http://www.cnblogs.com/renhui/p/7997557.html
Android OpenGL ES 開發(三): OpenGL ES 定義形狀
http://www.cnblogs.com/renhui/p/8000345.html
Android OpenGL ES 開發(四): OpenGL ES 繪製形狀
http://www.cnblogs.com/renhui/p/8004987.html
Android OpenGL ES 開發(五): OpenGL ES 使用投影和相機檢視
http://www.cnblogs.com/renhui/p/8005512.html
Android OpenGL ES 開發(六): OpenGL ES 新增運動效果
http://www.cnblogs.com/renhui/p/8005518.html
Android OpenGL ES 開發(七): OpenGL ES 響應觸控事件
http://www.cnblogs.com/renhui/p/8005528.html
Android OpenGL ES 開發(八): OpenGL ES 著色器語言GLSL
http://www.cnblogs.com/renhui/p/8126121.html
Android OpenGL ES 開發(九): OpenGL ES 紋理貼圖
http://www.cnblogs.com/renhui/p/8145734.html
Android OpenGL ES 開發(十): 通過GLES20與著色器互動
http://www.cnblogs.com/renhui/p/8302434.html
動手實踐,積累實戰經驗:
使用 OpenGL 顯示一張圖片
GLSurfaceviw 繪製 Camera 預覽畫面及實現拍照https://github.com/renhui/OpenGLES20Study
使用OpenGL ES 完成視訊的錄製,並實現視訊水印效果https://github.com/renhui/OpenGLVideoRecord/tree/master
個人學習成果展示:
音視訊錄製流程總結:
https://github.com/renhui/AndroidRecorder
OpenGL ES 學習筆記:
https://github.com/renhui/OpenGLES20Study
OpenGL音視訊錄製專案:
https://github.com/renhui/OpenGLVideoRecord
OpenSL ES 學習記錄
學習 Android 平臺 OpenSL ES API,瞭解 OpenSL 開發的基本流程,使用OpenSL播放PCM資料,並瞭解相關API的簡單使用。
Android OpenSL ES 開發:Android OpenSL 介紹和開發流程說明
https://www.cnblogs.com/renhui/p/9567332.html
Android OpenSL ES 開發:使用 OpenSL 播放 PCM 資料
https://www.cnblogs.com/renhui/p/9565464.html
Android OpenSL ES 開發:Android OpenSL 錄製 PCM 音訊資料
https://www.cnblogs.com/renhui/p/9604550.html
Android OpenSL ES 開發:OpenSL ES利用SoundTouch實現PCM音訊的變速和變調
https://www.cnblogs.com/renhui/p/9620400.html
3高階探究篇
深入研究音視訊相關的網路協議,如 rtmp,hls,以及封包格式,如:flv,mp4
深入學習一些音視訊領域的開源專案,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
將 ffmpeg 庫移植到 Android 平臺,結合上面積累的經驗,編寫一款簡易的音視訊播放器
將 x264 庫移植到 Android 平臺,結合上面積累的經驗,完成視訊資料 H264 軟編功能
將 librtmp 庫移植到 Android 平臺,結合上面積累的經驗,完成 Android RTMP 推流功能
大連看性病哪家醫院好【線上諮詢】 http://nk.84211111.com
FFmpeg 學習記錄
FFmpeg命令列工具學習(一):檢視媒體檔案頭資訊工具ffprobe
http://www.cnblogs.com/renhui/p/9209664.html
FFmpeg命令列工具學習(二):播放媒體檔案的工具ffplay
http://www.cnblogs.com/renhui/p/8458802.html
FFmpeg命令列工具學習(三):媒體檔案轉換工具ffmpeg
http://www.cnblogs.com/renhui/p/9223969.html
FFmpeg 學習(一):FFmpeg 簡介
http://www.cnblogs.com/renhui/p/6922971.html
FFmpeg 學習(二):Mac下安裝FFmpeg
http://www.cnblogs.com/renhui/p/8458150.html
FFmpeg 學習(三):將 FFmpeg 移植到 Android平臺
http://www.cnblogs.com/renhui/p/6934397.html
FFmpeg 學習(四):FFmpeg API 介紹與通用 API 分析
http://www.cnblogs.com/renhui/p/9293057.html
FFmpeg 學習(五):FFmpeg 編解碼 API 分析
http://www.cnblogs.com/renhui/p/9328893.html
FFmpeg 學習(六):FFmpeg 核心模組 libavformat 與 libavcodec 分析
http://www.cnblogs.com/renhui/p/9343098.html
FFmpeg 結構體學習
FFmpeg 結構體學習(一): AVFormatContext 分析
https://www.cnblogs.com/renhui/p/9361276.html
FFmpeg 結構體學習(二): AVStream 分析
https://www.cnblogs.com/renhui/p/9469856.html
FFmpeg 結構體學習(三): AVPacket 分析
https://www.cnblogs.com/renhui/p/9488751.html
FFmpeg 結構體學習(四): AVFrame 分析
https://www.cnblogs.com/renhui/p/9493393.html
FFmpeg 結構體學習(五): AVCodec 分析
https://www.cnblogs.com/renhui/p/9493690.html
FFmpeg 結構體學習(六): AVCodecContext 分析
https://www.cnblogs.com/renhui/p/9494286.html
FFmpeg 結構體學習(七): AVIOContext 分析
https://www.cnblogs.com/renhui/p/9494887.html
FFmpeg 結構體學習(八):FFMPEG中重要結構體之間的關係
https://www.cnblogs.com/renhui/p/9494890.html
4高階探究篇
GPUImage
https://github.com/CyberAgent/android-gpuimage
IjkPlayer
https://github.com/Bilibili/ijkplayer
librestreaming
https://github.com/lakeinchina/librestreaming
RTMPDump
http://rtmpdump.mplayerhq.hu/
SoundTouch
http://www.surina.net/soundtouch/sourcecode.html
5學習展望
完成上面的學習後,可以嘗試做一款音視訊相關的APP,這個APP儘可能多的用上你學習的知識,看看能做到什麼程度。如果你能很好的做出來,並認真的把上面列舉的所有的點都完成和整理了,相信你在Android音視訊領域會越走越好。
推薦的學習資料:
《雷霄驊的專欄》:
http://blog.csdn.net/leixiaohua1020
《Android音訊開發》:
http://ticktick.blog.51cto.com/823160/d-15
《FFMPEG Tips》
http://ticktick.blog.51cto.com/823160/d-17
《Learn OpenGL 中文》
https://learnopengl-cn.github.io/
《Android Graphic 架構》
https://source.android.com/devices/graphics/
《Jhuster的專欄》:
http://blog.51cto.com/ticktick
《ywl5320的專欄》:
https://blog.csdn.net/ywl5320
有句古話,師傅領進門,修行靠個人。
音視訊有著一定的門檻,一個看似簡單的例子實現起來可能因為一兩個引數的問題都會浪費非常久的時間,不過這些經歷都是比較寶貴的,可以讓你更好的去理解各個 API。
光靠看絕對是不可能精通音視訊的,技術都是一步步積累的,有個正確的方向,堅持去做才可能做好。
哪個醫院割包皮好 http://www.xasgnk.cn