WebRTC(Web Real-Time Communication)項目的最終目的主要是讓Web開發者能夠基於瀏覽器(Chrome\FireFox\...)輕易快捷開發出豐富的實時多媒體應用,而無需下載安裝任何插件,Web開發者也無需關註多媒體的數字信號處理過程,只需編寫簡單的Javascript程序即可實現,W3C等組織正在制定Javascript 標準API,目前是WebRTC 1.0版本,Draft狀態;另外WebRTC還希望能夠建立壹個多互聯網瀏覽器間健壯的實時通信的平臺,形成開發者與瀏覽器廠商良好的生態環境。同時,古格也希望和致力於讓WebRTC的技術成為HTML5標準之壹,可見古格布局之深遠。
WebRTC提供了視頻會議的核心技術,包括音視頻的采集、編解碼、網絡傳輸、顯示等功能,並且還支持跨平臺:windows,linux,mac,android。
架構組件介紹
(1) Your Web App
Web開發者開發的程序,Web開發者可以基於集成WebRTC的瀏覽器提供的web API開發基於視頻、音頻的實時通信應用。
(2)Web API
面向第三方開發者的WebRTC標準API(Javascript),使開發者能夠容易地開發出類似於網絡視頻聊天的web應用,最新的標準化進程可以查看這裏。
(3)WebRTC Native C++ API
本地C++ API層,使瀏覽器廠商容易實現WebRTC標準的Web API,抽象地對數字信號過程進行處理。
(4)Transport / Session
傳輸/會話層
會話層組件采用了libjingle庫的部分組件實現,無須使用xmpp/jingle協議
a. RTP Stack協議棧
Real Time Protocol
b. STUN/ICE
可以通過STUN和ICE組件來建立不同類型網絡間的呼叫連接。
c. Session Management
壹個抽象的會話層,提供會話建立和管理功能。該層協議留給應用開發者自定義實現。
(5)VoiceEngine
音頻引擎是包含壹系列音頻多媒體處理的框架,包括從視頻采集卡到網絡傳輸端等整個解決方案。
P使其能夠快速且高解析度地適應不斷變化的網絡環境,確保音質優美且緩沖延遲最小。
是GIPS公司獨步天下的技術,能夠有效的處理由於網絡抖動和語音包丟失時候對語音質量產生的影響。
(6)VideoEngine
WebRTC視頻處理引擎
VideoEngine是包含壹系列視頻處理的整體框架,從攝像頭采集視頻到視頻信息網絡傳輸再到視頻顯示整個完整過程的解決方案。
a. VP8
視頻圖像編解碼器,是WebRTC視頻引擎的默認的編解碼器
VP8適合實時通信應用場景,因為它主要是針對低延時而設計的編解碼器。
PS:VPx編解碼器是古格收購ON2公司後開源的,VPx現在是WebM項目的壹部分,而WebM項目是古格致力於推動的HTML5標準之壹
b. Video Jitter Buffer
視頻抖動緩沖器,可以降低由於視頻抖動和視頻信息包丟失帶來的不良影響。
c. Image enhancements
圖像質量增強模塊
對網絡攝像頭采集到的圖像進行處理,包括明暗度檢測、顏色增強、降噪處理等功能,用來提升視頻質量。