中文字幕无码久久精品,13—14同岁无码A片,99热门精品一区二区三区无码,菠萝菠萝蜜在线观看视频高清1

 首頁 > 新聞 > 專家觀點(diǎn) >

WebRTC現(xiàn)狀及優(yōu)缺點(diǎn),音視頻通信必看的開源項(xiàng)目

2016-05-18 09:41:47   作者:聲網(wǎng)Agora.io首席客戶端SDK架構(gòu)師 馮越   來源:CTI論壇   評論:0  點(diǎn)擊:


  2011年Google將WebRTC項(xiàng)目開源,讓許多開發(fā)者眼前一亮,忍不住的加入了研究WebRTC的隊(duì)伍中。作為Google開源的技術(shù),WebRTC并不是一個(gè)可以拿來就用,并且性能很好的產(chǎn)品。本文主要來談一談WebRTC的優(yōu)缺點(diǎn)。
\
  一、發(fā)展及現(xiàn)狀
  WebRTC在被Google開源之前,其價(jià)值就已經(jīng)得到了充分的認(rèn)可。比如QQ就使用了WebRTC的部分技術(shù)。WebRTC的發(fā)展情況可以從標(biāo)準(zhǔn)規(guī)范和瀏覽器支持這兩個(gè)方面看。WebRTC標(biāo)準(zhǔn)是由W3C和IETF所聯(lián)合制定的,在2016年1月28日,W3C公布了最新的WebRTC標(biāo)準(zhǔn),標(biāo)準(zhǔn)中定義了WebIDL中一系列的ECMA Script API來允許使用合適的RTP的瀏覽器或設(shè)備來接收/發(fā)送媒體,詳細(xì)內(nèi)容可以訪問https://www.w3.org/TR/webrtc/。關(guān)于瀏覽器的實(shí)現(xiàn)現(xiàn)狀,目前市面上主流瀏覽器中支持WebRTC的有Chrome、Firefox和Opera,但是IE及Safar還未支持。
  二、優(yōu)點(diǎn)
  1.方便。對于用戶來說,在WebRTC出現(xiàn)之前想要進(jìn)行實(shí)時(shí)通信就需要安裝插件和客戶端,這是一個(gè)復(fù)雜的過程,F(xiàn)在,WebRTC技術(shù)內(nèi)置于瀏覽器中,用戶不需要使用任何插件或者軟件就能通過瀏覽器來實(shí)現(xiàn)實(shí)時(shí)通信。對于開發(fā)者來說,在Google將WebRTC開源之前,瀏覽器之間實(shí)現(xiàn)通信的技術(shù)是掌握在大企業(yè)手中,這項(xiàng)技術(shù)的開發(fā)是一個(gè)很困難的任務(wù),現(xiàn)在開發(fā)者使用簡單的HTML標(biāo)簽和JavaScriptAPI就能夠?qū)崿F(xiàn)Web音/視頻通信的功能。
  2.免費(fèi)。雖然WebRTC技術(shù)已經(jīng)較為成熟,其集成了最佳的音/視頻引擎,十分先進(jìn)的codec,但是Google對于這些技術(shù)不收取任何費(fèi)用。
  3.強(qiáng)大的打洞能力。WebRTC技術(shù)包含了使用STUN、ICE、TURN、RTP-over-TCP的關(guān)鍵NAT和防火墻穿透技術(shù),并支持代理。
  三、缺點(diǎn)
  1.編譯WebRTC的源碼就是一個(gè)比較大的挑戰(zhàn),搭建其復(fù)雜的編譯環(huán)境往往會遇到很多意想不到的問題,導(dǎo)致當(dāng)初計(jì)劃用幾個(gè)星期的時(shí)間來搞定項(xiàng)目,卻發(fā)現(xiàn)這幾個(gè)星期連編譯都沒搞定。
  2.WebRTC中很多的參數(shù)都是由GIPS公司的工程師們依靠經(jīng)驗(yàn)所設(shè)定的值,這就會出現(xiàn)卡頓、延時(shí)、回聲、丟包、多人視頻不穩(wěn)定等問題。
  3.WebRTC缺乏服務(wù)器方案的設(shè)計(jì)和部署。
  4.傳輸質(zhì)量難以保證。WebRTC的傳輸設(shè)計(jì)基于P2P,難以保障傳輸質(zhì)量,優(yōu)化手段也有限,只能做一些端到端的優(yōu)化,難以應(yīng)對復(fù)雜的互聯(lián)網(wǎng)環(huán)境。比如對跨地區(qū)、跨運(yùn)營商、低帶寬、高丟包等場景下的傳輸質(zhì)量基本是靠天吃飯,而這恰恰是國內(nèi)互聯(lián)網(wǎng)應(yīng)用的典型場景。
  5.WebRTC比較適合一對一的單聊,雖然功能上可以擴(kuò)展實(shí)現(xiàn)群聊,但是沒有針對群聊,特別是超大群聊進(jìn)行任何優(yōu)化。
  6.設(shè)備端適配,如回聲、錄音失敗等問題層出不窮。這一點(diǎn)在安卓設(shè)備上尤為突出。由于安卓設(shè)備廠商眾多,每個(gè)廠商都會在標(biāo)準(zhǔn)的安卓框架上進(jìn)行定制化,導(dǎo)致很多可用性問題(訪問麥克風(fēng)失。┖唾|(zhì)量問題(如回聲、嘯叫)。
  7.對Native開發(fā)支持不夠。WebRTC顧名思義,主要面向Web應(yīng)用,雖然也可以用于Native開發(fā),但是由于涉及到的領(lǐng)域知識(音視頻采集、處理、編解碼、實(shí)時(shí)傳輸?shù)龋┹^多,整個(gè)框架設(shè)計(jì)比較復(fù)雜,API粒度也比較細(xì),導(dǎo)致連工程項(xiàng)目的編譯都不是一件容易的事。
  總而言之,WebRTC雖然提供了一套音視頻實(shí)時(shí)通訊的解決方案,但是在實(shí)際應(yīng)用中,由于網(wǎng)絡(luò)傳輸、設(shè)備適配以及多方通話上都存在很多問題,效果并不理想。
分享到: 收藏

專題