Android 音視頻開發入門指南

來源:互聯網
上載者:User

標籤:入門   精通   提高   android   音視頻   

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


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


    我一直相信帶著 “任務” 去學習和實踐,效率會高很多,因此我列出了一系列音視頻相關的 “開發工作單位”,從簡單到困難(當然,不一定非常嚴格和完美,部分任務先後可調整),大家在完成任務的過程中,遇到任何不懂的地方都要及時去 google,或者去請教身邊的大牛,不放過任何一個疑點,相信大家會很快就能把音視頻周邊相關知識積累起來。


   《Android 音視頻從入門到提高 —— 工作清單》


    1. 在 Android 平台繪製一張圖片,使用至少 3 種不同的 API,ImageView,SurfaceView,自訂 View


    2. 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音頻 PCM 資料的採集和播放,並實現讀寫音頻 wav 檔案


    3. 在 Android 平台使用 Camera API 進行視頻的採集,分別使用 SurfaceView、TextureView 來預覽 Camera 資料,取到 NV21 的資料回調


    4. 學習 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封裝 mp4 檔案


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


    6. 學習 Android 平台 OpenGL ES API,學習紋理繪製,能夠使用 OpenGL 顯示一張圖片


    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/


    關於音視頻如何入門就介紹道這裡了,有任何疑問歡迎來信 [email protected] 交流,另外,歡迎關注我的新浪微博 @盧_俊 或者 公眾號 @Jhuster 擷取最新的文章和資訊。


本文出自 “Jhuster的專欄” 部落格,請務必保留此出處http://ticktick.blog.51cto.com/823160/1956269

Android 音視頻開發入門指南

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.