什么是WebRTC
WebRTC為Google、Mozilla、Opera等(deng)發(fa)起的(de)開源(yuan)項目,名(ming)稱(cheng)源(yuan)自網頁即時(shi)通信(Web Real-Time Communication)的(de)縮寫。
對于開(kai)發者而(er)言(yan),WebRTC是一(yi)套(tao)支持(chi)網頁瀏覽器(qi)進行實時音(yin)視頻對話(hua)的W3C Javascript API,包括音(yin)視頻的采集、編解碼、網絡傳輸、顯示等(deng)功能。
WebRTC的出(chu)現大大降低了音(yin)視(shi)頻開發的門檻,開發者只需要調用WebRTC API即可快速構建出(chu)音(yin)視(shi)頻應(ying)用。
WebRTC標準化歷程:

WebRTC API和CTRTC WebSDK的關系
CTRTC WebSDK是基于WebRTC封裝的API集合(he),極(ji)致簡單(dan),對開發者更(geng)加友(you)好,能十行(xing)之內完成一個簡單(dan)的demo并上線(xian)。
【大而全專業(ye)介紹詳見(jian)Markdown】
WebRTC的價值
5G的(de)到來,疫情的(de)催化促使了(le)(le)各(ge)類互動場景的(de)爆發,在(zai)線會議、在(zai)線教育(yu)、在(zai)線面試、在(zai)線社(she)交、在(zai)線醫療、金融證券(quan)在(zai)線開戶、智(zhi)能家居等等。這(zhe)些(xie)互動場景在(zai)很大(da)程(cheng)度上改變了(le)(le)我們(men)原(yuan)本的(de)生活方(fang)式。將常見的(de)線下場景轉至(zhi)線上,人們(men)足(zu)不(bu)出戶便能體驗上述(shu)場景。這(zhe)些(xie)實(shi)時音(yin)視頻通信應用(yong)的(de)火熱程(cheng)度也足(zu)以證明這(zhe)一(yi)領域風頭正勁。在(zai)這(zhe)些(xie)實(shi)時通信技術背(bei)后,就不(bu)得不(bu)提到WebRTC。
WebRTC市場調研:
全球(qiu)WebRTC 2019年市場規(gui)模23億美元,預計2020 - 2027復合年增長率為43.4%。
RTC難點 => WebRTC解決方案
RTC通信的難點主要有以下(xia)幾點,WebRTC完美解決(jue)了(le):
1、互聯網網絡復雜:不同的NAT,防(fang)火墻,對媒體P2P建立帶(dai)來很大的挑戰,WebRTC里面有P2P 打(da)洞(dong)的開源項目 libjingle ,支持(chi)STUN,TURN等協(xie)議。
2、延時敏感:TCP由于自身機制的缺陷,只能使用UDP傳輸,那(nei)就需要等問題。WEBRTC提(ti)供了(le)NACK,FEC技術。
3、流暢性(xing):互聯網網絡不穩定,特(te)別一(yi)些(xie)小運營商,在流量使用高峰期(qi)往往無法(fa)保(bao)證(zheng)足夠(gou)的帶(dai)寬。需要(yao)一(yi)套(tao)自適應的算法(fa)來應對網絡擁塞、平滑發送等問題。WebRTC提供了(le)TCC + SVC + PACER + JitterBuffer技(ji)術。
4、語音清晰(xi):由于終(zhong)端設備和環境復雜,會有噪聲回(hui)聲的干擾,WebRTC提(ti)供了3A算法 + NetEQ。