音視頻進(jìn)階:淺談Android 開發(fā)音視頻入門之路(android音視頻開發(fā)詳解)
很多開發(fā)者都知道Android音視頻開發(fā)這個(gè)概念,音視頻開發(fā)不僅需要掌握?qǐng)D像、音頻、視頻的基礎(chǔ)知識(shí),并且還需要掌握如何對(duì)它們進(jìn)行采集、渲染、處理、傳輸等一系列的開發(fā)和應(yīng)用,因此,音視頻開發(fā)是一門涉及到很多內(nèi)容的領(lǐng)域。
隨著5G基站的不斷建設(shè),大家已經(jīng)可以明確的感知到目前市場(chǎng)上各大企業(yè)對(duì)于音視頻人才的需求,市場(chǎng)招聘音視頻崗位薪資亦是水漲船高!但Android 音視頻開發(fā)想要自學(xué)卻難度很高,不僅需要C/C 這塊的基礎(chǔ)知識(shí),后續(xù)還需要掌握webrtc、FFMPEG opengl等等一系列知識(shí)點(diǎn),自學(xué)難度不是一般的大!
并且目前也的確沒(méi)有比較系統(tǒng)的教程以及書籍,網(wǎng)上的博客文章也很零散,只能通過(guò)一點(diǎn)點(diǎn)的學(xué)習(xí)和積累把這塊的知識(shí)串聯(lián)積累起來(lái),所學(xué)習(xí)難度卻很大,耗費(fèi)的時(shí)間也非常多。
鑒于還有很多同學(xué)入門比較困難或者被困在初級(jí)音視頻階段,這里給大家推薦一套 音視頻流媒體學(xué)習(xí)路線 ,并附有相關(guān)《音視頻開發(fā)核心進(jìn)階筆記》(包含音視頻開發(fā)初-中-高級(jí)知識(shí)點(diǎn)),相信可以給大家提供一些幫助,有需要的朋友們也 可以找我領(lǐng)取此份文檔以便自己能隨時(shí)查漏補(bǔ)缺。
(此文檔資料包括C/C ,Linux,F(xiàn)Fmpeg webRTC opengl RTMP hls rtsp ffplay 等等),SI信【音視頻】即可找我獲取。 (文末附送音視頻開發(fā)面試題文檔一份)
以下是這份開發(fā)文檔的部分章節(jié):
音視頻初級(jí)入門
- 音視頻入門開發(fā)(一):三種方式繪制圖片
- 音視頻入門開發(fā)(二):AudioRecord 采集音頻PCM并保存
- 音視頻入門開發(fā)(三):AudioTrack 播放PCM音頻
- 音視頻入門開發(fā)(四):Camera API 采集視頻數(shù)據(jù)
- 音視頻入門開發(fā)(五):MediaExtractor 和 MediaMuxer API 解析與封裝
- 音視頻入門開發(fā)(六):MediaCodec API 詳解
- 音視頻入門開發(fā)(七):音視頻錄制流程總結(jié)
- ……
音視頻中級(jí)進(jìn)階:OpenSL ES 學(xué)習(xí)
這部分主要學(xué)習(xí) Android 平臺(tái) OpenSL ES API: (了解 OpenSL 開發(fā)的基本流程,用OpenSL播放PCM數(shù)據(jù),了解相關(guān)API的簡(jiǎn)單使用。)
主要就是下面這幾個(gè):
Android OpenSL ES 開發(fā):Android OpenSL 介紹與開發(fā)流程說(shuō)明
Android OpenSL ES 開發(fā):使用 OpenSL 播放 PCM 數(shù)據(jù)
Android OpenSL ES 開發(fā):Android OpenSL 錄制 PCM 音頻數(shù)據(jù)
Android OpenSL ES 開發(fā):OpenSL ES利用SoundTouch實(shí)現(xiàn)PCM音頻的變速和變調(diào)
……
核心知識(shí)點(diǎn):
Android Opengl ES 開發(fā)(一): 簡(jiǎn)單介紹
Android Opengl ES 開發(fā)(二): 環(huán)境搭建
Android Opengl ES 開發(fā)(三): 定義形狀
Android Opengl ES 開發(fā)(四): 繪制形狀
Android Opengl ES 開發(fā)(五): 使用投影和相機(jī)視圖
Android Opengl ES 開發(fā)(六): 添加運(yùn)動(dòng)效果
Android Opengl ES 開發(fā)(七): 響應(yīng)觸摸事件
Android Opengl ES 開發(fā)(八): 著色器語(yǔ)言GLSL
Android Opengl ES 開發(fā)(九): 紋理貼圖
Android Opengl ES 開發(fā)(十): 通過(guò)GLES20與著色器交互
Android音視頻開發(fā)高級(jí)探究篇
深入學(xué)習(xí)音視頻編碼: 如H.264,AAC,研究使用開源編解碼庫(kù),如x.264,JM 等
深入研究音視頻相關(guān)的網(wǎng)絡(luò)協(xié)議: 如 rtmp,hls,以及封包格式,如:FLV,mp4
深入學(xué)習(xí)一些音視頻領(lǐng)域的開源項(xiàng)目: 如 webrtc,ffmpeg,ijkplayer,librtmp 等等
將 ffmpeg 庫(kù)移植到 Android 平臺(tái), 編寫一款簡(jiǎn)易的音視頻播放器
將 x264 庫(kù)移植到 Android 平臺(tái), 完成視頻數(shù)據(jù) H264 軟編功能
音視頻編解碼技術(shù)(一):MPEG-4/H.264 AVC 編解碼標(biāo)準(zhǔn)
音視頻編解碼技術(shù)(二):AAC 音頻編碼技術(shù)
音視頻編解碼技術(shù)
流媒體協(xié)議(一): HLS 協(xié)議
流媒體協(xié)議(二): RTMP協(xié)議
流媒體協(xié)議
多媒體文件格式(一): MP4 格式
多媒體文件格式(二): FLV 格式
多媒體文件格式(三): M3U8 格式
多媒體文件格式(四): TS 格式
多媒體文件格式
FFmpeg命令行工具學(xué)習(xí)(一): 查看媒體文件頭信息工具ffprobe
FFmpeg命令行工具學(xué)習(xí)(二): 播放媒體文件工具ffplay
FFmpeg命令行工具學(xué)習(xí)(三): 媒體文件轉(zhuǎn)換工具ffmpeg
FFmpeg命令行工具學(xué)習(xí)(四): FFmpeg 采集設(shè)備
FFmpeg命令行工具學(xué)習(xí)(五): FFmpeg 調(diào)整音視頻播放速度`
FFmpeg命令行工具學(xué)習(xí)
FFmpeg 學(xué)習(xí)(一): FFmpeg 簡(jiǎn)介
FFmpeg 學(xué)習(xí)(二): Mac下安裝FFmpeg
FFmpeg 學(xué)習(xí)(三): 將 FFmpeg 移植到 Android平臺(tái)
FFmpeg 學(xué)習(xí)(四): FFmpeg API 介紹與通用 API 分析
FFmpeg 學(xué)習(xí)(五): FFmpeg 編解碼 API 分析
FFmpeg 學(xué)習(xí)
而最近也有好幾位同學(xué)咨詢了一些關(guān)于 直播、webrtc、FFmpeg等等一系列音視頻問(wèn)題,這些問(wèn)題都是大家平時(shí)在學(xué)習(xí)音視頻方面很關(guān)注的問(wèn)題,我也整理了一部分 音視頻開發(fā) 的面試真題用來(lái)分享給大家。
以下是收集整理的部分音視頻開發(fā)的面試題(完整版可找我獲取):
1. 為什么巨大的原始視頻可以編碼成很小的視頻呢?這其中的技術(shù)是什么呢?
2. 怎么做到直播秒開優(yōu)化?
3. 直方圖在圖像處理里面最重要的作用是什么?
4. 數(shù)字圖像濾波有哪些方法?
5. 圖像可以提取的特征有哪些?
6. 衡量圖像重建好壞的標(biāo)準(zhǔn)有哪些?怎樣計(jì)算?
7. AAC和PCM的區(qū)別?
8. H264存儲(chǔ)的兩個(gè)形態(tài)?
9. FFMPEG:圖片如何合成視頻?
10. 常見的音視頻格式有哪些?
11. 請(qǐng)指出“1080p”的意義?
12. 請(qǐng)解釋顏色的本質(zhì)及其數(shù)字記錄原理,并說(shuō)出幾個(gè)你所知道的色域。
13. 請(qǐng)解釋“矢量圖”和“位圖”的區(qū)別?
14. 請(qǐng)從“光圈”“快門速度”“感光度”“白平衡”“景深”中任選2個(gè)進(jìn)行敘述?
15. 視頻分量YUV的意義及數(shù)字化格式?
16. 在MPEG標(biāo)準(zhǔn)中圖像類型有哪些?
17. 列舉一些音頻編解碼常用的實(shí)現(xiàn)方案?
18. 請(qǐng)敘述MPEG視頻基本碼流結(jié)構(gòu)?
19. sps和pps的區(qū)別?
20. 請(qǐng)敘述AMR基本碼流結(jié)構(gòu)?
音視頻學(xué)習(xí)有著一定門檻,光看是絕對(duì)做不到精通音視頻的,只有一步一步積累,順著正確的方向不斷深入學(xué)習(xí),才可以做到更好! 如果你想要了解音視頻開發(fā)的知識(shí),也缺乏系統(tǒng)學(xué)習(xí)的學(xué)習(xí)資料,此份 音視頻開發(fā)進(jìn)階文檔 可以后臺(tái)SI信 【音視頻】 獲取此份學(xué)習(xí)文檔。