日韩欧美国产一区二区三区_五月天欧美精品_国产精品一区不卡_欧美精品乱码久久久久久

內容字號:默認大號超大號

段落設置:段首縮進取消段首縮進

字體設置:切換到微軟雅黑切換到宋體






源自網頁實時通信WebRTC

時間:2015-12-21 來源:中國集群通信網 作者:網絡 點擊:

WebRTC,名稱源自網頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的技術,是谷歌2010年以6820萬美元收購Global IP Solutions公司而獲得的一項技術。

 

特點

WebRTC實現了基于網頁的視頻會議,標準是WHATWG 協議,目的是通過瀏覽器提供簡單的javascript就可以達到實時通訊(Real-Time Communications (RTC))能力。

WebRTC(Web Real-Time Communication)項目的最終目的主要是讓Web開發者能夠基于瀏覽器(Chrome\FireFox\...)輕易快捷開發出豐富的實時多媒體應用,而無需下載安裝任何插件,Web開發者也無需關注多媒體的數字信號處理過程,只需編寫簡單的Javascript程序即可實現,W3C等組織正在制定Javascript 標準API,目前是WebRTC 1.0版本,Draft狀態;另外WebRTC還希望能夠建立一個多互聯網瀏覽器間健壯的實時通信的平臺,形成開發者與瀏覽器廠商良好的生態環境。同時,Google也希望和致力于讓WebRTC的技術成為HTML5標準之一,可見Google布局之深遠。

WebRTC提供了視頻會議的核心技術,包括音視頻的采集、編解碼、網絡傳輸、顯示等功能,并且還支持跨平臺:windows,linux,mac,android。

 

架構

顏色標識說明

(1)紫色部分是Web開發者API層;

(2)藍色實線部分是面向瀏覽器廠商的API層

(3)藍色虛線部分瀏覽器廠商可以自定義實現

架構組件介紹

(1) Your Web App

Web開發者開發的程序,Web開發者可以基于集成WebRTC的瀏覽器提供的web API開發基于視頻、音頻的實時通信應用。

(2)Web API

面向第三方開發者的WebRTC標準API(Javascript),使開發者能夠容易地開發出類似于網絡視頻聊天的web應用,最新的標準化進程可以查看這里。

這些API可分成Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三類,詳細的API說明可以看這里。

Network Stream API

MediaStream:MediaStream用來表示一個媒體數據流。

MediaStreamTrack在瀏覽器中表示一個媒體源。

RTCPeerConnection

RTCPeerConnection: 一個RTCPeerConnection對象允許用戶在兩個瀏覽器之間直接通訊。

RTCIceCandidate :表示一個ICE協議的候選者。

RTCIceServer:表示一個ICE Server。

Peer-to-peer Data API

DataChannel:數據通道( DataChannel)接口表示一個在兩個節點之間的雙向的數據通道 。

(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

音頻引擎是包含一系列音頻多媒體處理的框架,包括從視頻采集卡到網絡傳輸端等整個解決方案。

PS:VoiceEngine是WebRTC極具價值的技術之一,是Google收購GIPS公司后開源的。在VoIP上,技術業界領先,后面的文章會詳細了解

a. iSAC

Internet Speech Audio Codec

針對VoIP和音頻流的寬帶和超寬帶音頻編解碼器,是WebRTC音頻引擎的默認的編解碼器

采樣頻率:16khz,24khz,32khz;(默認為16khz)

自適應速率為10kbit/s ~ 52kbit/;

自適應包大小:30~60ms;

算法延時:frame + 3ms

b.iLBC

Internet Low Bitrate Codec

VoIP音頻流的窄帶語音編解碼器

采樣頻率:8khz;

20ms幀比特率為15.2kbps

30ms幀比特率為13.33kbps

標準由IETF RFC3951和RFC3952定義

c.NetEQ for Voice

針對音頻軟件實現的語音信號處理元件

NetEQ算法:自適應抖動控制算法以及語音包丟失隱藏算法。使其能夠快速且高解析度地適應不斷變化的網絡環境,確保音質優美且緩沖延遲最小。

是GIPS公司獨步天下的技術,能夠有效的處理由于網絡抖動和語音包丟失時候對語音質量產生的影響。

PS:NetEQ 也是WebRTC中一個極具價值的技術,對于提高VoIP質量有明顯效果,加以AEC\NR\AGC等模塊集成使用,效果更好。

d.Acoustic Echo Canceler (AEC)

回聲消除器是一個基于軟件的信號處理元件,能實時的去除mic采集到的回聲。

e.Noise Reduction (NR)

噪聲抑制也是一個基于軟件的信號處理元件,用于消除與相關VoIP的某些類型的背景噪聲(嘶嘶聲,風扇噪音等等… …)

(6)VideoEngine

WebRTC視頻處理引擎

VideoEngine是包含一系列視頻處理的整體框架,從攝像頭采集視頻到視頻信息網絡傳輸再到視頻顯示整個完整過程的解決方案。

a. VP8

視頻圖像編解碼器,是WebRTC視頻引擎的默認的編解碼器

VP8適合實時通信應用場景,因為它主要是針對低延時而設計的編解碼器。

PS:VPx編解碼器是Google收購ON2公司后開源的,VPx現在是WebM項目的一部分,而WebM項目是Google致力于推動的HTML5標準之一

b. Video Jitter Buffer

視頻抖動緩沖器,可以降低由于視頻抖動和視頻信息包丟失帶來的不良影響。

c. Image enhancements

圖像質量增強模塊

對網絡攝像頭采集到的圖像進行處理,包括明暗度檢測、顏色增強、降噪處理等功能,用來提升視頻質量。

 

相關說明

谷歌2011年6月3日宣布向開發人員開放WebRTC架構的源代碼。這個源代碼將根據沒有專利費的BSD(伯克利軟件發布)式的許可證向用戶提供。

開發人員可訪問并獲取WebRTC的源代碼、規格說明和工具等。

 

分析

視頻

WebRTC的視頻部分,包含采集、編解碼(I420/VP8)、加密、媒體文件、圖像處理、顯示、網絡傳輸與流控(RTP/RTCP)等功能。

視頻采集---video_capture

源代碼在webrtc\modules\video_capture\main目錄下,包含接口和各個平臺的源代碼。

在windows平臺上,WebRTC采用的是dshow技術,來實現枚舉視頻的設備信息和視頻數據的采集,這意味著可以支持大多數的視頻采集設備;對那些需要單獨驅動程序的視頻采集卡(比如海康高清卡)就無能為力了。

視頻采集支持多種媒體類型,比如I420、YUY2、RGB、UYUY等,并可以進行幀大小和幀率控制。

視頻編解碼---video_coding

源代碼在webrtc\modules\video_coding目錄下。

WebRTC采用I420/VP8編解碼技術。VP8是google收購ON2后的開源實現,并且也用在WebM項目中。VP8能以更少的數據提供更高質量的視頻,特別適合視頻會議這樣的需求。

視頻加密--video_engine_encryption

視頻加密是WebRTC的video_engine一部分,相當于視頻應用層面的功能,給點對點的視頻雙方提供了數據上的安全保證,可以防止在Web上視頻數據的泄漏。

視頻加密在發送端和接收端進行加解密視頻數據,密鑰由視頻雙方協商,代價是會影響視頻數據處理的性能;也可以不使用視頻加密功能,這樣在性能上會好些。

視頻加密的數據源可能是原始的數據流,也可能是編碼后的數據流。估計是編碼后的數據流,這樣加密代價會小一些,需要進一步研究。

視頻媒體文件--media_file

源代碼在webrtc\modules\media_file目錄下。

該功能是可以用本地文件作為視頻源,有點類似虛擬攝像頭的功能;支持的格式有Avi。

另外,WebRTC還可以錄制音視頻到本地文件,比較實用的功能。

視頻圖像處理--video_processing

源代碼在webrtc\modules\video_processing目錄下。

視頻圖像處理針對每一幀的圖像進行處理,包括明暗度檢測、顏色增強、降噪處理等功能,用來提升視頻質量。

視頻顯示--video_render

源代碼在webrtc\modules\video_render目錄下。

在windows平臺,WebRTC采用direct3d9和directdraw的方式來顯示視頻,只能這樣,必須這樣。

網絡傳輸與流控

對于網絡視頻來講,數據的傳輸與控制是核心價值。WebRTC采用的是成熟的RTP/RTCP技術。

音頻

WebRTC的音頻部分,包含設備、編解碼(iLIBC/iSAC/G722/PCM16/RED/AVT、NetEQ)、加密、聲音文件、聲音處理、聲音輸出、音量控制、音視頻同步、網絡傳輸與流控(RTP/RTCP)等功能。

音頻設備---audio_device

源代碼在webrtc\modules\audio_device\main目錄下,包含接口和各個平臺的源代碼。

在windows平臺上,WebRTC采用的是Windows Core Audio和Windows Wave技術來管理音頻設備,還提供了一個混音管理器。

利用音頻設備,可以實現聲音輸出,音量控制等功能。

音頻編解碼---audio_coding

源代碼在webrtc\modules\audio_coding目錄下。

WebRTC采用iLIBC/iSAC/G722/PCM16/RED/AVT編解碼技術。

WebRTC還提供NetEQ功能---抖動緩沖器及丟包補償模塊,能夠提高音質,并把延遲減至最小。

另外一個核心功能是基于語音會議的混音處理。

聲音加密--voice_engine_encryption

和視頻一樣,WebRTC也提供聲音加密功能。

聲音文件

該功能是可以用本地文件作為音頻源,支持的格式有Pcm和Wav。

同樣,WebRTC也可以錄制音頻到本地文件。

聲音處理--audio_processing

源代碼在webrtc\modules\audio_processing目錄下。

聲音處理針對音頻數據進行處理,包括回聲消除(AEC)、AECM(AEC Mobile)、自動增益(AGC)、降噪(NS)、靜音檢測(VAD)處理等功能,用來提升聲音質量。

網絡傳輸與流控

和視頻一樣,WebRTC采用的是成熟的RTP/RTCP技術。


(中國集群通信網 | 責任編輯:陳曉亮)
本文標簽: 實時通信, WebRTC

相關文章

中國集群通信網,國內首家集群通信專業網站。

Copyright © PttCn.Net, All Rights Reserved.   

聯系我們 聯系我們 中國集群通信網 對講機學堂 對講機世界

主站蜘蛛池模板: 国产日韩欧美黄色| 精品久久久久亚洲| 日韩一区二区三区高清| 日本不卡一区| 91精品国产综合久久久久久久久| 国产精品91久久久| 日本三日本三级少妇三级66| 欧美日韩国产免费一区二区三区| 欧美少妇一区| 欧美日韩一区二区视频在线 | 欧美在线日韩精品| 久久伊人色综合| 亚洲欧洲精品一区二区三区波多野1战4| 高清不卡日本v二区在线| 一区二区三区四区视频在线观看| 国产伦精品免费视频| 日韩欧美视频免费在线观看| 91av在线国产| 亚洲熟妇无码另类久久久| 亚洲一区美女视频在线观看免费| 日本久久中文字幕| 欧日韩免费视频| 久久在线免费观看视频| 久久999免费视频| 日韩精品福利视频| 91国内在线视频| 美女久久久久久久| 国产精品日韩在线| 国产人妻互换一区二区 | 在线观看日本一区| 欧美日韩在线不卡视频| 激情五月开心婷婷| 午夜精品99久久免费| 一本二本三本亚洲码| 日本精品福利视频| 日韩国产精品毛片| 国产精品久在线观看| 亚洲欧美日韩精品在线| 精品国产中文字幕| 91精品国产乱码久久久久久久久 | 91精品国产高清久久久久久久久|