1. 在 Android 平臺(tái)繪制一張圖片,使用至少 3 種不同的 API,ImageView,SurfaceView,自定義 View
2. 在 Android 平臺(tái)使用 AudioRecord 和 AudioTrack API 完成音頻 PCM 數(shù)據(jù)的采集和播放亿卤,并實(shí)現(xiàn)讀寫(xiě)音頻 wav 文件
? ? 3. 在 Android 平臺(tái)使用 Camera API 進(jìn)行視頻的采集,分別使用 SurfaceView鹿霸、TextureView 來(lái)預(yù)覽 Camera 數(shù)據(jù)排吴,取到 NV21 的數(shù)據(jù)回調(diào)
? ? 4. 學(xué)習(xí) Android 平臺(tái)的 MediaExtractor 和 MediaMuxer API,知道如何解析和封裝 mp4 文件
? ? 5. 學(xué)習(xí) Android 平臺(tái) OpenGL ES API懦鼠,了解 OpenGL 開(kāi)發(fā)的基本流程钻哩,使用 OpenGL 繪制一個(gè)三角形
? ? 6. 學(xué)習(xí) Android 平臺(tái) OpenGL ES API屹堰,學(xué)習(xí)紋理繪制,能夠使用 OpenGL 顯示一張圖片
? ? 7. 學(xué)習(xí) MediaCodec API街氢,完成音頻 AAC 硬編双藕、硬解
? ? 8. 學(xué)習(xí) MediaCodec API,完成視頻 H.264 的硬編阳仔、硬解
? ? 9. 串聯(lián)整個(gè)音視頻錄制流程忧陪,完成音視頻的采集、編碼近范、封包成 mp4 輸出
? ? 10. 串聯(lián)整個(gè)音視頻播放流程嘶摊,完成 mp4 的解析、音視頻的解碼评矩、播放和渲染
? ? 11. 進(jìn)一步學(xué)習(xí) OpenGL叶堆,了解如何實(shí)現(xiàn)視頻的剪裁、旋轉(zhuǎn)斥杜、水印虱颗、濾鏡,并學(xué)習(xí) OpenGL 高級(jí)特性蔗喂,如:VBO忘渔,VAO,F(xiàn)BO 等等
? ? 12. 學(xué)習(xí) Android 圖形圖像架構(gòu)缰儿,能夠使用 GLSurfaceviw 繪制 Camera 預(yù)覽畫(huà)面
? ? 13. 深入研究音視頻相關(guān)的網(wǎng)絡(luò)協(xié)議畦粮,如 rtmp,hls乖阵,以及封包格式宣赔,如:flv,mp4
? ? 14. 深入學(xué)習(xí)一些音視頻領(lǐng)域的開(kāi)源項(xiàng)目瞪浸,如 webrtc儒将,ffmpeg,ijkplayer对蒲,librtmp 等等
? ? 15. 將 ffmpeg 庫(kù)移植到 Android 平臺(tái)钩蚊,結(jié)合上面積累的經(jīng)驗(yàn),編寫(xiě)一款簡(jiǎn)易的音視頻播放器
? ? 16. 將 x264 庫(kù)移植到 Android 平臺(tái)齐蔽,結(jié)合上面積累的經(jīng)驗(yàn)两疚,完成視頻數(shù)據(jù) H264 軟編功能
? ? 17. 將 librtmp 庫(kù)移植到 Android 平臺(tái),結(jié)合上面積累的經(jīng)驗(yàn)含滴,完成 Android RTMP 推流功能
? ? 18. 上面積累的經(jīng)驗(yàn)诱渤,做一款短視頻 APP,完成如:斷點(diǎn)拍攝谈况、添加水印勺美、本地轉(zhuǎn)碼递胧、視頻剪輯、視頻拼接赡茸、MV 特效等功能