• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>

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

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


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

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 咸宁市| 奉节县| 鞍山市| 余干县| 余干县| 珠海市| 邮箱| 隆化县| 嵊泗县| 德州市| 五莲县| 霞浦县| 兴国县| 洛阳市| 丰台区| 浠水县| 渑池县| 葫芦岛市| 灵璧县| 梅河口市| 壶关县| 茂名市| 乌兰察布市| 游戏| 化州市| 鄂尔多斯市| 沙洋县| 辛集市| 松江区| 弥渡县| 南投市| 苍南县| 竹溪县| 麦盖提县| 磐石市| 达拉特旗| 平江县| 上饶市| 郧西县| 西丰县| 阳泉市| http://444 http://444 http://444 http://444 http://444 http://444