[原文地址]:https://blog.csdn.net/temotemo/article/details/7530504
1曲初、簡介
WebRTC是一項(xiàng)在瀏覽器內(nèi)部進(jìn)行實(shí)時(shí)視頻和音頻通信的技術(shù)匿沛,是谷歌2010年以6820萬美元收購Global IP Solutions公司而獲得的一項(xiàng)技術(shù)匀归。WebRTC提供了視頻會(huì)議的核心技術(shù)鳞疲,包括音視頻的采集惧磺、編解碼青责、網(wǎng)絡(luò)傳輸均抽。
2嫁赏、WebRTC架構(gòu)圖
3、WebRTC架構(gòu)組件介紹
(1) Your Web App
Web開發(fā)者開發(fā)的程序油挥,Web開發(fā)者可以基于集成WebRTC的瀏覽器提供的web API開發(fā)基于視頻潦蝇、音頻的實(shí)時(shí)通信應(yīng)用。
(2) Web API
面向第三方開發(fā)者的WebRTC標(biāo)準(zhǔn)API(Javascript)深寥,使開發(fā)者能夠容易地開發(fā)出類似于網(wǎng)絡(luò)視頻聊天的web應(yīng)用攘乒。
(3) Transport / Session
傳輸/會(huì)話層,會(huì)話層組件采用了libjingle庫的部分組件實(shí)現(xiàn)惋鹅。主要組件如下:
- RTP(real time protocol)協(xié)議棧
RTP詳解 : https://blog.csdn.net/u011006622/article/details/80675054 - STUN & ICE
STUN & ICE 詳解 : https://www.cnblogs.com/pannengzhi/p/5041546.html
https://www.cnblogs.com/pannengzhi/p/5061674.htm - Session Management
一個(gè)抽象的會(huì)話層则酝,提供會(huì)話建立和管理功能。該層協(xié)議留給應(yīng)用開發(fā)者自定義實(shí)現(xiàn)闰集。
(5) VoiceEngine
VoiceEngine 詳解 :
https://blog.csdn.net/nonmarking/article/details/50574733
音頻引擎是包含一系列音頻多媒體處理的框架沽讹,包括從視頻采集卡到網(wǎng)絡(luò)傳輸端等整個(gè)解決方案。
PS:VoiceEngine是WebRTC極具價(jià)值的技術(shù)之一武鲁,是Google收購GIPS公司后開源的爽雄。在VoIP上,技術(shù)業(yè)界領(lǐng)先洞坑。
a. iSAC
Internet Speech Audio Codec
針對(duì)VoIP和音頻流的寬帶和超寬帶音頻編解碼器盲链,是WebRTC音頻引擎的默認(rèn)的編解碼器。
b. iLBC
Internet Low Bitrate Codec
VoIP音頻流的窄帶語音編解碼器迟杂。
c. NetEQ for Voice
NetEQ for Voice 詳解 : https://blog.csdn.net/u014338577/article/details/46010983
針對(duì)音頻軟件實(shí)現(xiàn)的語音信號(hào)處理元件刽沾。
NetEQ算法:自適應(yīng)抖動(dòng)控制算法以及語音包丟失隱藏算法。使其能夠快速且高解析度地適應(yīng)不斷變化的網(wǎng)絡(luò)環(huán)境排拷,確保音質(zhì)優(yōu)美且緩沖延遲最小侧漓。
是GIPS公司獨(dú)步天下的技術(shù),能夠有效的處理由于網(wǎng)絡(luò)抖動(dòng)和語音包丟失時(shí)候?qū)φZ音質(zhì)量產(chǎn)生的影響监氢。
d. Acoustic Echo Canceler (AEC)
回聲消除器是一個(gè)基于軟件的信號(hào)處理元件布蔗,能實(shí)時(shí)的去除mic采集到的回聲。
e. Noise Reduction (NR)
噪聲抑制也是一個(gè)基于軟件的信號(hào)處理元件浪腐,用于消除與相關(guān)VoIP的某些類型的背景噪聲(嘶嘶聲纵揍,風(fēng)扇噪音等等… …)
(6) VideoEngine
VideoEngine詳解 : https://blog.csdn.net/nonmarking/article/details/47375849
WebRTC視頻處理引擎。
VideoEngine是包含一系列視頻處理的整體框架议街,從攝像頭采集視頻到視頻信息網(wǎng)絡(luò)傳輸再到視頻顯示整個(gè)完整過程的解決方案泽谨。
a. VP8
視頻圖像編解碼器,是WebRTC視頻引擎的默認(rèn)的編解碼器。
VP8適合實(shí)時(shí)通信應(yīng)用場景吧雹,因?yàn)樗饕轻槍?duì)低延時(shí)而設(shè)計(jì)的編解碼器骨杂。
PS:VPx編解碼器是Google收購ON2公司后開源的,VPx現(xiàn)在是WebM項(xiàng)目的一部分雄卷,而WebM項(xiàng)目是Google致力于推動(dòng)的HTML5標(biāo)準(zhǔn)之一搓蚪。
b. Video Jitter Buffer
視頻抖動(dòng)緩沖器,可以降低由于視頻抖動(dòng)和視頻信息包丟失帶來的不良影響丁鹉。
c. Image enhancements
圖像質(zhì)量增強(qiáng)模塊妒潭。
對(duì)網(wǎng)絡(luò)攝像頭采集到的圖像進(jìn)行處理,包括明暗度檢測鳄炉、顏色增強(qiáng)杜耙、降噪處理等功能,用來提升視頻質(zhì)量拂盯。