Android 音視頻開發入門指南

    最近收到不少網友經過郵件或者留言說想學習音視頻開發,該如何入門,我今天專門寫篇文章統一回復下吧。android


    音視頻這塊,目前的確沒有比較系統的教程或者書籍,網上的博客文章也都是比較零散的,但願我後面能擠出時間整一個專題詳細講一講~~目前的話,我先給出一個大的方向性的學習指南,但願對初學者有所幫助。web


    我一直相信帶着 「任務」 去學習和實踐,效率會高不少,所以我列出了一系列音視頻相關的 「開發任務」,從簡單到困難(固然,不必定很是嚴格和完美,部分任務前後可調整),你們在完成任務的過程當中,遇到任何不懂的地方都要及時去 google,或者去請教身邊的大牛,不放過任何一個疑點,相信你們會很快就能把音視頻周邊相關知識積累起來。微信


   《Android 音視頻從入門到提升 —— 任務列表》網絡


    1. 在 Android 平臺繪製一張圖片,使用至少 3 種不一樣的 API,ImageView,SurfaceView,自定義 View
架構


    2. 在 Android 平臺使用 AudioRecord 和 AudioTrack API 完成音頻 PCM 數據的採集和播放,並實現讀寫音頻 wav 文件
ide


    3. 在 Android 平臺使用 Camera API 進行視頻的採集,分別使用 SurfaceView、TextureView 來預覽 Camera 數據,取到 NV21 的數據回調學習


    4. 學習 Android 平臺的 MediaExtractor 和 MediaMuxer API,知道如何解析和封裝 mp4 文件google


    5. 學習 Android 平臺 OpenGL ES API,瞭解 OpenGL 開發的基本流程,使用 OpenGL 繪製一個三角形編碼


    6. 學習 Android 平臺 OpenGL ES API,學習紋理繪製,可以使用 OpenGL 顯示一張圖片.net


    7. 學習 MediaCodec API,完成音頻 AAC 硬編、硬解


    8. 學習 MediaCodec API,完成視頻 H.264 的硬編、硬解


    9. 串聯整個音視頻錄製流程,完成音視頻的採集、編碼、封包成 mp4 輸出


    10. 串聯整個音視頻播放流程,完成 mp4 的解析、音視頻的解碼、播放和渲染


    11. 進一步學習 OpenGL,瞭解如何實現視頻的剪裁、旋轉、水印、濾鏡,並學習 OpenGL 高級特性,如:VBO,VAO,FBO 等等


    12. 學習 Android 圖形圖像架構,可以使用 GLSurfaceviw 繪製 Camera 預覽畫面


    13. 深刻研究音視頻相關的網絡協議,如 rtmp,hls,以及封包格式,如:flv,mp4


    14. 深刻學習一些音視頻領域的開源項目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等


    15. 將 ffmpeg 庫移植到 Android 平臺,結合上面積累的經驗,編寫一款簡易的音視頻播放器


    16. 將 x264 庫移植到 Android 平臺,結合上面積累的經驗,完成視頻數據 H264 軟編功能


    17. 將 librtmp 庫移植到 Android 平臺,結合上面積累的經驗,完成 Android RTMP 推流功能


    18. 上面積累的經驗,作一款短視頻 APP,完成如:斷點拍攝、添加水印、本地轉碼、視頻剪輯、視頻拼接、MV 特效等功能


    相信我,若是你認真把全部任務都完成了,你必定會成爲音視頻人才招聘市場的香餑餑~~


    下面是一些推薦的參考資料:


    1. 《雷霄驊的專欄》:http://blog.csdn.net/leixiaohua1020

    2. 《Android音頻開發》:http://ticktick.blog.51cto.com/823160/d-15

    3. 《FFMPEG Tips》:http://ticktick.blog.51cto.com/823160/d-17

    4. 《Learn OpenGL 中文》:https://learnopengl-cn.readthedocs.io/zh/latest/

    5. 《Android Graphic 架構》:https://source.android.com/devices/graphics/


    關於音視頻如何入門就介紹道這裏了,有任何疑問歡迎來信 lujun.hust@gmail.com 交流,另外,歡迎關注個人新浪微博 @盧_俊 或者 微信公衆號 @Jhuster 獲取最新的文章和資訊。

相關文章
相關標籤/搜索