參考:?
android音視頻點(diǎn)/直播模塊開(kāi)發(fā)?
[總結(jié)]視音頻編解碼技術(shù)零基礎(chǔ)學(xué)習(xí)方法?
android 音視頻開(kāi)發(fā)過(guò)程?
轉(zhuǎn)載:?
Android開(kāi)發(fā),本身并不是一個(gè)可以走得多遠(yuǎn)的方向终抽,它只是一個(gè)平臺(tái)贮勃,提供了許多封裝好的API报账,讓大家能夠快速開(kāi)發(fā)出針對(duì)特定業(yè)務(wù)的應(yīng)用钠四。
真正有價(jià)值的地方就在于Android與具體的業(yè)務(wù)方向結(jié)合幔嫂,比如:?
Android與音視頻技術(shù),Android與智能硬件交互瘪撇,Android與前端技術(shù)的融合與探索获茬,Android信息安全,Android源碼深度定制等等倔既。
《Android 音視頻從入門到提高 —— 任務(wù)列表》
在 Android 平臺(tái)繪制一張圖片恕曲,使用至少 3 種不同的 API,ImageView渤涌,SurfaceView佩谣,自定義 View
在 Android 平臺(tái)使用 AudioRecord 和 AudioTrack API 完成音頻 PCM 數(shù)據(jù)的采集和播放,并實(shí)現(xiàn)讀寫音頻 wav 文件
在 Android 平臺(tái)使用 Camera API 進(jìn)行視頻的采集实蓬,分別使用 SurfaceView茸俭、TextureView 來(lái)預(yù)覽 Camera 數(shù)據(jù)吊履,取到 NV21 的數(shù)據(jù)回調(diào)
學(xué)習(xí) Android 平臺(tái)的 MediaExtractor 和 MediaMuxer API,知道如何解析和封裝 mp4 文件
學(xué)習(xí) Android 平臺(tái) OpenGL ES API调鬓,了解 OpenGL 開(kāi)發(fā)的基本流程艇炎,使用 OpenGL 繪制一個(gè)三角形
學(xué)習(xí) Android 平臺(tái) OpenGL ES API,學(xué)習(xí)紋理繪制腾窝,能夠使用 OpenGL 顯示一張圖片
學(xué)習(xí) MediaCodec API缀踪,完成音頻 AAC 硬編、硬解
學(xué)習(xí) MediaCodec API虹脯,完成視頻 H.264 的硬編驴娃、硬解
串聯(lián)整個(gè)音視頻錄制流程,完成音視頻的采集循集、編碼托慨、封包成 mp4 輸出
串聯(lián)整個(gè)音視頻播放流程,完成 mp4 的解析暇榴、音視頻的解碼厚棵、播放和渲染
進(jìn)一步學(xué)習(xí) OpenGL,了解如何實(shí)現(xiàn)視頻的剪裁蔼紧、旋轉(zhuǎn)婆硬、水印、濾鏡奸例,并學(xué)習(xí) OpenGL 高級(jí)特性彬犯,如:VBO,VAO查吊,F(xiàn)BO 等等
學(xué)習(xí) Android 圖形圖像架構(gòu)谐区,能夠使用 GLSurfaceviw 繪制 Camera 預(yù)覽畫面
深入研究音視頻相關(guān)的網(wǎng)絡(luò)協(xié)議,如 rtmp逻卖,hls宋列,以及封包格式,如:flv评也,mp4
深入學(xué)習(xí)一些音視頻領(lǐng)域的開(kāi)源項(xiàng)目炼杖,如 webrtc,ffmpeg盗迟,ijkplayer坤邪,librtmp 等等
將 ffmpeg 庫(kù)移植到 Android 平臺(tái),結(jié)合上面積累的經(jīng)驗(yàn)罚缕,編寫一款簡(jiǎn)易的音視頻播放器
將 x264 庫(kù)移植到 Android 平臺(tái)艇纺,結(jié)合上面積累的經(jīng)驗(yàn),完成視頻數(shù)據(jù) H264 軟編功能
將 librtmp 庫(kù)移植到 Android 平臺(tái),結(jié)合上面積累的經(jīng)驗(yàn)黔衡,完成 Android RTMP 推流功能
上面積累的經(jīng)驗(yàn)消约,做一款短視頻 APP,完成如:斷點(diǎn)拍攝员帮、添加水印或粮、本地轉(zhuǎn)碼、視頻剪輯捞高、視頻拼接氯材、MV 特效等功能
相信我,如果你認(rèn)真把所有任務(wù)都完成了硝岗,你一定會(huì)成為音視頻人才招聘市場(chǎng)的香餑餑~~
下面是一些推薦的參考資料:
《雷霄驊的專欄》:http://blog.csdn.net/leixiaohua1020
《Android音頻開(kāi)發(fā)》:http://ticktick.blog.51cto.com/823160/d-15
《FFMPEG Tips》:http://ticktick.blog.51cto.com/823160/d-17
《Learn OpenGL 中文》:https://learnopengl-cn.readthedocs.io/zh/latest/
《Android Graphic 架構(gòu)》:https://source.android.com/devices/graphics/