欧美,精品,综合,亚洲,好吊妞视频免新费观看,免费观看三级吃奶,一级a片女人自慰免费看

 首頁 > 新聞 > 專家觀點 >

WebRTC(頁實時通信)技術概述

2014-06-23 10:13:45   作者:苗經緯   來源:工業(yè)和信息化部電信研究院   評論:0  點擊:


  1. 前言

  WebRTC(Web Real-Time Communication——網頁實時通信)是一個基于瀏覽器的實時多媒體通信技術。該項技術旨在使Web瀏覽器具備實時通信能力;同時,通過將這些能力封裝并以JavaScript API的方式開放給Web應用開發(fā)人員,使得Web應用開發(fā)人員能夠通過HTML標簽和JavaScript API快速地開發(fā)出基于Web瀏覽器的實時音視頻應用,而無需依賴任何第三方插件。該項技術將Web瀏覽器打造成一個適用于在所有用戶設備(比如移動智能終端和個人電腦等)間進行實時的音視頻和數據通信的通用平臺。

  在WebRTC技術出現之前,基于Web瀏覽器的多媒體通信服務是構建在特定的瀏覽器插件(如Adobe Flash Player)之上的,因為瀏覽器所依賴的HTTP協(xié)議是一種無連接狀態(tài)的協(xié)議——即瀏覽器與服務器建立連接,下載文件,斷開連接,再顯示接收到的文件。因此,瀏覽器不能與服務器實時動態(tài)地交換數據。無連接狀態(tài)的HTTP協(xié)議導致需要實時通信的服務(如聊天等)只能采取定時訪問服務器的方法(即輪詢方式)來實現。然而,在用戶訪問量增多時,這種方式嚴重的消耗服務器端資源,進而嚴重的影響服務器的性能。由于軟硬件平臺日趨多樣性,下列問題將在基于瀏覽器插件的多媒體應用中突顯:1)加大IT公司對于插件和基于該插件的應用的研發(fā)和維護成本;2)加大插件開發(fā)人員對于插件和基于該插件的應用的開發(fā)、測試和維護工作;3)加大涉及到受版權保護的技術的整合難度;4)加大說服用戶安裝插件的難度。

  目前,WebRTC由IETF(Internet Engineering Task Force——互聯網工程任務組)和W3C(World Wide Web Consortium——萬維網聯盟)聯合負責其標準化工作。IETF定制WebRTC的互聯網基礎協(xié)議標準,該標準也被稱為RTCWeb(Real-Time Communication in Web-browsers)。W3C則負責定制WebRTC的客戶端JavaScript API接口的標準。目前參與該技術標準定制的公司主要有思科、微軟、谷歌和愛立信等。其中,微軟為揭示現有WebRTC存在的不足,進而推動其不斷向前發(fā)展,提出了WebRTC的另一種形式,即CU-RTC-Web(Customizable, Ubiquitous Real Time Communication over the Web)。

  2. 系統(tǒng)構成

  WebRTC是通過將如下功能集成到現有瀏覽器來實現為異構系統(tǒng)提供統(tǒng)一的多媒體實時通訊平臺:會話管理、音頻引擎、視頻引擎和網絡傳輸。同時,WebRTC為Web開發(fā)人員提供了Web API (即JavaScript API)來開發(fā)基于Web的音視頻應用;為瀏覽器廠商提供了WebRTC Native C++ API用于實現Web API的函數集(如圖1所示)。在本章節(jié),首先,我們介紹WebRTC的組成模塊;其次,我們介紹WebRTC的API接口;最后,我們介紹組成模塊與接口之間的對應關系。

  2.1 組成模塊

  A. 會話管理

  WebRTC的會話管理也被稱為抽象信令。抽象信令的作用是將具體業(yè)務與信令控制的分離,從而適應廣大Web應用中的信令控制。會話管理的實現有兩種方式:一種是以瀏覽器為主的實現方式ROAP(RTCWeb Offer/Answer Protocol),另一種是以Javascript為主的實現方式JSEP(Javascript Session Establishment Protocol)。前者的優(yōu)點在于可以直接使用現有協(xié)議棧實現;缺點是靈活度較低,無法支持私有協(xié)議,另外,如果將過多的協(xié)議棧集成到瀏覽器,將使得瀏覽器會變得“臃腫”。后者的優(yōu)勢在于靈活度高,能夠適用于多種協(xié)議。為提高會話管理的普適性,以及簡化會話管理,W3C通過多次討論,最終采用了JSEP(JavaScript Session Establishment Protocal)方式來進行會話管理。

  B. 音頻引擎

  音頻引擎負責從麥克到網絡側、網絡側到音箱的音頻處理。它包含的功能主要有音頻編解碼和聲音處理兩部分。在音頻編解碼上,WebRTC主要采用兩種語音編碼格式:iSAC(internet Speech Audio Codec)和iLBC(internet Low Bitrate Codec),來分別對寬帶與窄帶環(huán)境的語音進行編碼。在聲音處理上,WebRTC主要包括回聲消除、錯誤隱藏和降噪處理等功能,用來降低由網絡抖動和丟包等對聲音質量造成的影響,并盡可能降低聲音延遲。

  C. 視頻引擎

  視頻處理引擎負責攝像機到網絡側、網絡側到屏幕顯示的視頻處理。它主要包括視頻編解碼和圖像處理。在視頻編解碼上,目前WebRTC主要采用VP8技術(未來VP9也將被集成到WebRTC中),使得WebRTC在較低碼率的環(huán)境,提供較高質量的視頻。在圖像處理上,WebRTC主要包括抖動緩沖和圖像增強等功能,用來降低從攝像機采集到的圖像的噪音。

  D. 網絡傳輸

  網絡傳輸負責對采集到的音視頻數據進行加密、防火墻穿透和傳輸。WebRTC將設備采集到的音視頻數據在加密的情況下采用SRTP協(xié)議進行傳輸,以確保信息在傳輸過程中的安全性。另外,WebRTC采用STUN、TURN和ICE等協(xié)議棧對VoIP網絡中的防火墻或者NAT進行穿透。其中,STUN可以處理大部分NAT穿透問題;TURN是STUN協(xié)議的一個增強版,專門用于處理對稱形NAT穿透問題;ICE是一個整合了STUN和TURN的框架,為VoIP或視頻通話配置以及媒體傳輸提供可靠的服務。

  圖 1 WebRTC總體架構,摘自百度百科
 

分享到: 收藏

專題