裝rtc的優(yōu)缺點(diǎn)?
WebRTC的優(yōu)點(diǎn):
1. 方便。對(duì)于用戶來說,在WebRTC出現(xiàn)之前想要進(jìn)行實(shí)時(shí)通信就需要安裝插件和客戶端,但是對(duì)于很多用戶來說,插件的下載、軟件的安裝和更新這些操作是復(fù)雜而且容易出現(xiàn)問題的,現(xiàn)在WebRTC技術(shù)內(nèi)置于瀏覽器中,用戶不需要使用任何插件或者軟件就能通過瀏覽器來實(shí)現(xiàn)實(shí)時(shí)通信。對(duì)于開發(fā)者來說,在Google將WebRTC開源之前,瀏覽器之間實(shí)現(xiàn)通信的技術(shù)是掌握在大企業(yè)手中,這項(xiàng)技術(shù)的開發(fā)是一個(gè)很困難的任務(wù),現(xiàn)在開發(fā)者使用簡(jiǎn)單的HTML標(biāo)簽和JavaScript API就能夠?qū)崿F(xiàn)Web音/視頻通信的功能。
2. 免費(fèi)。雖然WebRTC技術(shù)已經(jīng)較為成熟,其集成了最佳的音/視頻引擎,十分先進(jìn)的codec,但是Google對(duì)于這些技術(shù)不收取任何費(fèi)用。
3. 強(qiáng)大的打洞能力。WebRTC技術(shù)包含了使用STUN、ICE、TURN、RTP-over-TCP的關(guān)鍵NAT和防火墻穿透技術(shù),并支持代理。
WebRTC的缺點(diǎn):
1. 缺乏服務(wù)器方案的設(shè)計(jì)和部署。
2. 傳輸質(zhì)量難以保證。WebRTC的傳輸設(shè)計(jì)基于P2P,難以保障傳輸質(zhì)量,優(yōu)化手段也有限,只能做一些端到端的優(yōu)化,難以應(yīng)對(duì)復(fù)雜的互聯(lián)網(wǎng)環(huán)境。比如對(duì)跨地區(qū)、跨運(yùn)營商、低帶寬、高丟包等場(chǎng)景下的傳輸質(zhì)量基本是靠天吃飯,而這恰恰是國內(nèi)互聯(lián)網(wǎng)應(yīng)用的典型場(chǎng)景。
2. WebRTC比較適合一對(duì)一的單聊,雖然功能上可以擴(kuò)展實(shí)現(xiàn)群聊,但是沒有針對(duì)群聊,特別是超大群聊進(jìn)行任何優(yōu)化。
3. 設(shè)備端適配,如回聲、錄音失敗等問題層出不窮。這一點(diǎn)在安卓設(shè)備上尤為突出。由于安卓設(shè)備廠商眾多,每個(gè)廠商都會(huì)在標(biāo)準(zhǔn)的安卓框架上進(jìn)行定制化,導(dǎo)致很多可用性問題(訪問麥克風(fēng)失敗)和質(zhì)量問題(如回聲、嘯叫)。
4. 對(duì)Native開發(fā)支持不夠。WebRTC顧名思義,主要面向Web應(yīng)用,雖然也可以用于Native開發(fā),但是由于涉及到的領(lǐng)域知識(shí)(音視頻采集、處理、編解碼、實(shí)時(shí)傳輸?shù)龋┹^多,整個(gè)框架設(shè)計(jì)比較復(fù)雜,API粒度也比較細(xì),導(dǎo)致連工程項(xiàng)目的編譯都不是一件容易的事。