1. 程式人生 > >Android 音視訊開發學習之路

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