音視頻學(xué)習(xí)筆記

但無論什么平臺(tái)柿扣,他們的學(xué)習(xí)曲線其實(shí)是類似的,都要經(jīng)歷差不多如下的環(huán)節(jié):

學(xué)習(xí)對(duì)應(yīng)平臺(tái)的編程語言闺魏,如:C/C++未状,Java,Object C舷胜,Javascript 等

熟悉對(duì)應(yīng)平臺(tái)提供的 API娩践,如:UI 庫(kù),網(wǎng)絡(luò)烹骨,文件翻伺,數(shù)據(jù)庫(kù), 圖片處理沮焕,多媒體處理 等等

掌握平臺(tái)相關(guān)的特性吨岭、框架和原理,如:Windows 的 WINSOCK峦树,ODBC辣辫,WPF 等,Unix 的設(shè)計(jì)哲學(xué)魁巩,Android 的四大組件急灭,iOS 的 MVC 模式等等

通過具體的項(xiàng)目,熟悉和練手谷遂,達(dá)到可完成任意功能的開發(fā)

當(dāng)你已經(jīng)走到第 4 步了后葬馋,往往就會(huì)感覺遇到了瓶頸,產(chǎn)生如文章開頭的問題肾扰,下一步何去何從 畴嘶?

“基于平臺(tái)的 API 做應(yīng)用開發(fā),并不是一個(gè)可以走得多遠(yuǎn)的方向集晚,真正有價(jià)值的地方在于與具體的業(yè)務(wù)方向結(jié)合”窗悯,比如:

網(wǎng)絡(luò)安全

音視頻

智能硬件

深度學(xué)習(xí)

大數(shù)據(jù)

其他(比如:金融、通信等)

2.音視頻開發(fā)包括哪些內(nèi)容

雖然一篇文章無法把音視頻開發(fā)的知識(shí)點(diǎn)都介紹清楚偷拔,但是大概的學(xué)習(xí)路線還是可以梳理一下的蒋院,我們先看看下面這張圖:

其實(shí)說白了亏钩,音視頻開發(fā),就是要掌握?qǐng)D像悦污、音頻铸屉、視頻的基礎(chǔ)知識(shí),并且學(xué)會(huì)如何對(duì)它們進(jìn)行采集切端、渲染彻坛、處理、傳輸?shù)纫幌盗械拈_發(fā)和應(yīng)用踏枣。

采集:它解決的是昌屉,數(shù)據(jù)從哪里來的問題

渲染:它解決的是,數(shù)據(jù)怎么展現(xiàn)的問題

處理:它解決的是茵瀑,數(shù)據(jù)怎么加工的問題

傳輸:它解決的是间驮,數(shù)據(jù)怎么共享的問題

每一個(gè)門類,都可以深挖马昨,衍生出一個(gè)又一個(gè)充滿技術(shù)挑戰(zhàn)的話題竞帽,比如:如何更高效地渲染畫面、如何提高音視頻的壓縮比鸿捧,如何優(yōu)化弱網(wǎng)下的音視頻數(shù)據(jù)傳輸?shù)鹊取?/p>

其實(shí)屹篓,音視頻開發(fā)的技術(shù)積累,也沒有那么難匙奴,帶著問題去 Google堆巧,帶著任務(wù)去實(shí)踐,一切都不是問題泼菌,我們就從上面說的 4 個(gè)方向谍肤,逐個(gè)探索一下,有哪些知識(shí)點(diǎn)哗伯,是要我們?nèi)チ私夂驼莆盏摹?/p>

2.1 采集

采集荒揣,它解決的是,數(shù)據(jù)從哪里來的問題焊刹,那么乳附,數(shù)據(jù)究竟從哪里來的呢 ?

其實(shí)無論在哪個(gè)平臺(tái)伴澄,圖像、視頻最初都是來自攝像頭阱缓,而音頻最初都是來自麥克風(fēng)非凌,因此,做音視頻采集荆针,就要掌握如下的技術(shù)知識(shí):

1. 系統(tǒng)的攝像頭采集接口是什么敞嗡,怎么用 颁糟?

比如:

Windows:DirectShow Linux:V4L2 Android:Camera iOS:AVCaptureSession

2. 系統(tǒng)的攝像頭采集的參數(shù)怎么配置,都是什么含義 喉悴?

比如:分辨率棱貌、幀率、預(yù)覽方向箕肃、對(duì)焦婚脱、閃光燈 等

3. 系統(tǒng)的攝像頭輸出的圖像/視頻數(shù)據(jù),是什么格式勺像,不同格式有什么區(qū)別 障贸?

比如:圖片:JPEG,視頻數(shù)據(jù):NV21吟宦,NV12篮洁,I420 等

4. 系統(tǒng)的麥克風(fēng)采集接口是什么,怎么用 殃姓?

比如:

Windows:DirectShow Linux:ALSA & OSS Android:AudioRecord iOS:Audio Unit

5. 系統(tǒng)的麥克風(fēng)采集參數(shù)怎么配置袁波,都是什么含義 ?

比如:采樣率蜗侈,通道號(hào)篷牌,位寬 等

6. 系統(tǒng)的麥克風(fēng)輸出的音頻數(shù)據(jù),是什么格式宛篇?

比如:PCM

2.2 渲染

渲染娃磺,它解決的是,數(shù)據(jù)怎么展現(xiàn)的問題叫倍,那么偷卧,數(shù)據(jù)究竟怎么展現(xiàn)呢 ?

其實(shí)無論在哪個(gè)平臺(tái)吆倦,圖像听诸、視頻最終都是要繪制到視圖上面,而音頻最終都是要輸出到揚(yáng)聲器蚕泽,因此晌梨,做音視頻渲染,就要掌握如下的技術(shù)知識(shí):

1. 系統(tǒng)提供了哪些 API 可以繪制一張圖片或者一幀 YUV 圖像數(shù)據(jù)的 须妻?

比如:

Windows:DirectDraw, Direct3D, GDI仔蝌,OpenGL 等 Linux: GDI, OpenGL 等 Android:ImageView荒吏,SurfaceView敛惊,TextureView,OpenGL 等 iOS: CoreGraphics绰更,OpenGL 等

2. 系統(tǒng)提供了哪些 API 可以播放一個(gè) mp3 或者 pcm 數(shù)據(jù) 瞧挤?

比如:

Windows:DirectSound 等 Linux:ALSA & OSS 等 Android:AudioTrack 等 iOS: AudioQueue 等

2.3 處理

處理锡宋,它解決的是,數(shù)據(jù)怎么加工的問題特恬,那么执俩,數(shù)據(jù)究竟可以怎么加工呢 ?

首先癌刽,我們看看圖像/音視頻的數(shù)據(jù)可以做哪些加工 役首?

其實(shí)無論在哪個(gè)平臺(tái),圖像和音視頻的加工妒穴,除了系統(tǒng)的 API宋税,大多數(shù)都會(huì)依賴一些跨平臺(tái)的第三方庫(kù)的,通過掌握這些第三方庫(kù)的原理和使用方法讼油,基本上就可以滿足日常音視頻處理工作了杰赛,這些庫(kù)包括但不限于:

1.圖像處理:OpenGL,OpenCV矮台,libyuv乏屯,ffmpeg 等

2.視頻編解碼:x264,OpenH264瘦赫,ffmpeg 等

3.音頻處理:speexdsp辰晕,ffmpeg 等

4.音頻編解碼:libfaac,opus确虱,speex含友,ffmpeg 等

因此,學(xué)習(xí)和掌握這些第三方庫(kù)的使用校辩,非常有必要窘问。?

2.4 傳輸

傳輸,它解決的是宜咒,數(shù)據(jù)怎么共享的問題惠赫,那么,數(shù)據(jù)究竟怎么共享呢 故黑?

共享儿咱,最重要的一點(diǎn),就是協(xié)議场晶。

我覺得互聯(lián)網(wǎng)之所以能夠如此蓬勃地發(fā)展混埠,將整個(gè)世界都緊密聯(lián)系在一起诗轻,其實(shí)是離不開 W3C 這個(gè)委員會(huì)的巨大貢獻(xiàn)的,因?yàn)闊o論什么數(shù)據(jù),要想在不同的國(guó)家使套、不同設(shè)備之間互聯(lián)互通鞠柄,離不開 “標(biāo)準(zhǔn)”,有了 “標(biāo)準(zhǔn)”厌杜,大家就能互相讀懂對(duì)方奉呛。

因此夯尽,研究音視頻傳輸,其實(shí)就是在研究協(xié)議匙握,具體有哪些協(xié)議呢 咆槽?

1.音視頻在傳輸前,怎么打包的圈纺,如:FLV秦忿,ts,mpeg4 等

2.直播推流蛾娶,有哪些常見的協(xié)議灯谣,如:RTMP,RSTP 等

3.直播拉流蛔琅,有哪些常見的協(xié)議胎许,如:RTMP,HLS罗售,HDL辜窑,RTSP 等

4.基于 UDP 的協(xié)議有哪些?如:RTP/RTCP莽囤,QUIC 等

互聯(lián)網(wǎng)環(huán)境下的音視頻的傳輸谬擦,是一個(gè)非常有挑戰(zhàn)和價(jià)值的方向,為了解決弱網(wǎng)下的傳輸延時(shí)朽缎、卡頓惨远,提高用戶體驗(yàn),整個(gè)業(yè)界都在不斷地進(jìn)行著深入的探索和優(yōu)化话肖。?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末北秽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子最筒,更是在濱河造成了極大的恐慌贺氓,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件床蜘,死亡現(xiàn)場(chǎng)離奇詭異辙培,居然都是意外死亡蔑水,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門扬蕊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搀别,“玉大人,你說我怎么就攤上這事尾抑⌒福” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵再愈,是天一觀的道長(zhǎng)榜苫。 經(jīng)常有香客問我,道長(zhǎng)翎冲,這世上最難降的妖魔是什么垂睬? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮府适,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘檐春。我一直安慰自己,他們只是感情好疟暖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布俐巴。 她就那樣靜靜地躺著,像睡著了一般欣舵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上劣光,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天绢涡,我揣著相機(jī)與錄音,去河邊找鬼雄可。 笑死,一個(gè)胖子當(dāng)著我的面吹牛聪舒,可吹牛的內(nèi)容都是我干的虐急。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼亡鼠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仁热,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤勾哩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后迅矛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體潜叛,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年销斟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚂踊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笔宿。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖特纤,靈堂內(nèi)的尸體忽然破棺而出侥加,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布镰官,位于F島的核電站吗货,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏笨腥。R本人自食惡果不足惜勇垛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谆级。 院中可真熱鬧讼积,春花似錦、人聲如沸勤众。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掌桩。三九已至,卻和暖如春波岛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贡蓖。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工煌茬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坛善。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像剔交,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岖常,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 音視頻一些筆記 序列參數(shù)集SPS:作用于一系列連續(xù)的編碼圖像竭鞍; 圖像參數(shù)集PPS:作用于編碼視頻序列中一個(gè)或多個(gè)獨(dú)...
    zhouluyao閱讀 1,434評(píng)論 0 2
  • 前言 自己都是對(duì)直播這個(gè)模塊很好奇偎快,覺得是很深的,一直沒有學(xué)習(xí)的機(jī)會(huì)滨砍,沒有再項(xiàng)目中運(yùn)用到惋戏,現(xiàn)在根據(jù)自己網(wǎng)上看到的文...
    廖燊閱讀 248評(píng)論 0 0
  • ### YUV顏色空間 視頻是由一幀一幀的數(shù)據(jù)連接而成他膳,而一幀視頻數(shù)據(jù)其實(shí)就是一張圖片。 yuv是一種圖片儲(chǔ)存格式...
    天使君閱讀 3,249評(píng)論 0 4
  • 音視頻學(xué)習(xí)筆記-SDP ? SDP 是會(huì)話描述協(xié)議, 它用文本描述各端的能力. 如各端多支持的音頻編解碼器是什...
    XZhongWen閱讀 1,536評(píng)論 0 0
  • 音視頻學(xué)習(xí)筆記 - RTP與RTCP ? 實(shí)時(shí)傳輸協(xié)議(RTP)詳細(xì)說明了在互聯(lián)網(wǎng)上傳遞音頻和視頻的標(biāo)準(zhǔn)數(shù)據(jù)包...
    XZhongWen閱讀 1,448評(píng)論 0 1