音視頻學習

從網上大神的文章得到一些學習信息,以任務的形式完成
《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/

遇到的問題:

buffer is inaccessible

https://github.com/LaiFeng-Android/SopCastComponent/issues/34

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章