【轉載】WEBRTC基本介紹

來源:互聯網
上載者:User

標籤:channel   media   cpe   即時   雜訊   組件   cancel   linu   帶來   

“WebRTC,名稱源自網頁即時通訊(Web Real-Time Communication)的縮寫,是一個支援網頁瀏覽器進行即時語音對話或視訊交談的技術,是Google2010年以6820萬美元收購Global IP Solutions公司而獲得的一項技術,Google開源了這項技術!”

就 衝著6000多萬美金的技術,就很值得研究一下!WebRTC提供了視頻會議的核心技術,包括音視頻採集、編解碼、網路傳輸、顯示等功能,並且還支援跨平 台:Windows,Linux,Mac,Android,尤其是在即時通訊方面的很多技術可以靈活嫁接到非RTC類流媒體系統中,例如,在低頻寬下的視 頻抖動控制,映像效果增強,通用NAT穿透過程等等(後面咱們再具體細說如何嫁接),那麼這就需要我們對WEBRTC的整體流程以及深層次的架構進行熟悉 和掌控,這一篇裡,我們先通過瀏覽器端WEBRTC視訊通話過程,瞭解WEBRTC瀏覽器基本介面和一次RealTime視訊通話的流程。

WEBRTC結構

  首先,從WEB-RTC方面分析WEBRTC在瀏覽器上的介面結構,在瀏覽器端,WEBRTC主要實現了三個介面

  • MediaStream, 實現對本地音視頻資源的封裝,例如從Camera、Microphone、遠端Stream等等,MediaStream表示一個媒體資料流,一個 MediaStreamTrack表示MediaStream中的一個媒體源,如音頻、視頻、字幕等等。
  • RTCPeerConnection,語音或者視訊通話過程,內部涵蓋呼叫、應答、穿透、加密、傳輸及會話管理等一系列流程,一個RTCPeerConnection代表一對通話過程中的一端。
  • RTCDataChannel,在PeerConnection之上,傳輸自訂資料。

 

#MediaStream

在瀏覽器端,MediaStream介面名稱為getUserMedia, 該介面為上層提供同步的音視頻流,比如在本地媒體資源擷取的時候,一路MediaStream可以是一路本地Camera提供的視頻Track與一路本地 Microphone提供的音頻Track經過同步後的Stream。當然,在瀏覽器端擷取到音視頻資料後,可以做本地化的各種處理,例如抓圖、映像樣式 變化、本地顯示濾鏡等等。

 

 

#RTCPeerConnection

RTCPeerConnection主要是用來處理點到點之間的串連和資料 傳輸,使整個過程能夠穩定且高效。在RTCPeerConnection下,封裝了大量的編解碼、通訊協定的工作來實現整個即時通訊過程,甚至是在不能提 供穩定頻寬情況下的即時通訊,主要功能點包括:

 

  • 丟包補償(packet loss concealment)
  • 迴音消除(echo cancellation)
  • 自適應頻寬(bandwidth adaptivity)
  • 視頻抖動緩衝器(dynamic jitter buffering)
  • 自動增益控制(automatic gain control)
  • 雜訊降低和抑制(noise reduction and suppression)
  • 映像清理(image ‘cleaning‘)(!暫且這麼翻譯吧)
  #RTCDataChannel

RTCDataChannel提供了在RTCPeerConnection 之上交換自訂資料的方法,相比於流媒體資料,在PeerConnection上傳輸自訂資料,不僅是在量上,而且在可靠性、安全性、靈活性方面,遠能 夠滿足需求。這樣在開發基於音視頻的遊戲和應用上,提供了較大的方便。

 

WEBRTC組件

 

#Transport/Session

  • 完整的RTP/SRTP協議棧
  • STUN、TURN、ICE過程
  • Session管理機制。

#VoiceEngine

WebRTC極具價值的技術之一,支援722,PCM,ILBC,ISAC等編碼,在VoIP上,技術業界領先!

NetEQ演算法:自適應抖動控制演算法以及語音包丟失隱藏演算法。使其能夠快速且高解析度地適應不斷變化的網路環境,確保音質優美且緩衝延遲最小。能夠有效處理由於網路抖動和語音包丟失時候對語音品質產生的影響。NetEQ也是WebRTC中一個極具價值的技術,對於提高VoIP品質有明顯效果,加以AEC(回聲消除)\NR(雜訊抑制)\AGC等模組整合使用,效果更好。

 #VideoEngine

VP8視頻影像轉碼器,是WebRTC視頻引擎的預設的轉碼器,VP8適合即時通訊應用情境,因為它主要是針對低延時而設計的轉碼器。 

視頻抖動緩衝器,可以降低由於視頻抖動和視頻資訊包丟失帶來的不良影響。

映像品質增強模組對網路攝影機採集到的映像進行處理,包括明暗度檢測、顏色增強、降噪處理等功能,用來提升視頻品質。

【轉載】WEBRTC基本介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.