999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WebRTC實現多人跨平臺同時在線視頻聊天

2018-12-08 07:14:06楊德炎鄭少明鄭漢軍陳思德李劍煜
網絡安全技術與應用 2018年12期
關鍵詞:設備

◆楊德炎 鄭少明 鄭漢軍 陳思德 李劍煜

基于WebRTC實現多人跨平臺同時在線視頻聊天

◆楊德炎 鄭少明 鄭漢軍 陳思德 李劍煜

(廈門安勝網絡科技有限公司 福建 321008)

手機、臺式機、筆記本、電視以及任何安裝智能操作平臺的移動設備,都可以在通用平臺上,使地理上分散的用戶共聚一處,進行視頻會議開展協同工作,實現點對點實時信息交流和數據共享的世界,本文介紹的WebRTC技術就能實現這樣的協同工作。

WebRTC;WebSocket;跨平臺;實時通信;流媒體;視頻通話;NAT/防火墻穿透

0 前言

縱觀全球,將RTC(實時通訊)技術與現有內容,音/視頻視頻數據和服務集成起來非常困難且耗時,還需要花費昂貴的技術成本,尤其是建立在Web應用上。

許多Web服務使用RTC,需要下載本機應用程序或插件。其中包括早期的WebQQ、 微信網頁版、微軟的Skype、Facebook和Google Hangouts。下載,安裝和更新插件等復雜操作,容易出錯并且很煩人。插件很難更新部署,調試,故障排除,測試和維護,兼容性差,需要為各種操作平臺定制開發,并且可能需要昂貴的許可并與復雜的技術集成。通常很難說服人們首先安裝插件,用戶體驗極差,交互野蠻。

而現在這一切都變得很容易,網絡視頻新技術—基于WebRTC實現網頁化提供實時,無插件視頻、音頻和數據通信。

1 WebRTC概述

WebRTC,來自網頁即時通信(Web Real-Time Communication)的縮寫,通過簡單友好的API為瀏覽器和移動應用程序提供實時,無插件的音/視頻和數據通信標準,涵蓋了視頻會議的核心技術,包括從視頻采集卡到網絡傳輸端視頻顯示等整個解決方案。其自適應抖動控制算法以及語音包丟失隱藏算法,能夠快速且高解析度地適應不斷變化的網絡環境,確保音質優美且緩沖延遲最小。Video Jitter Buffer視頻抖動緩沖器,能有效降低由于視頻抖動和視頻信息包丟失帶來的不良影響。Image enhancements圖像質量增強模塊對暗度檢測、顏色增強、色彩過渡、降噪處理等,表現出極為強悍的一面。

面向開發者的標準API可分成Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三大類,允許用戶在兩個瀏覽器之間直接通訊,實現雙向的數據交換。內置抽象會話層,采用了libjingle庫的組件實現,提供會話建立和管理功能,無須使用xmpp/jingle協議。本地C++接口層能抽象地對數字信號過程進行處理,通過STUN和ICE Server即可建立不同類型網絡間的視頻呼叫連接。而且具有很強的擴展性,容易跟其它現有的音/視頻通訊系統結合。并且支持所有的主流操作平臺Windows、linux、Mac、Android、IOS等。

2 視頻會議系統設計與實現

WebRTC 基于P2P的網絡通信,提供了瀏覽器到瀏覽器之間的通信。但是網絡之間的應用程序不能簡單隨意地進行任意設備相連接,現實生活中大多數設備都隱藏在一層或多層NAT,有些設備還具有阻止某些端口和協議的防病毒軟件,而且許多設備都支持網絡代理和企業防火墻。為此瀏覽器之間用于交換建立通信的元數據—信令和穿越NAT和防火墻必須依托服務器維護。

2.1 信令服務器 Signaling Server

在瀏覽器之間的會話建立之前,瀏覽器之間顯然沒有辦法傳遞數據進行通信,需要一系列協調通信和發送控制消息的機制來建立瀏覽器之間的通信 。瀏覽器之間傳遞的這些信令元數據需要通過服務器的中轉回傳,然后建立瀏覽器之間的會話,一旦成功RTCPeerConnection就會嘗試點對點直接連接,處理對等體之間流數據的穩定和有效通信。

其實信令就是協調溝通的過程,而用于信令的消息服務需要是雙向的:客戶端到服務器,服務器到客戶端。為了使WebRTC程序之間進行通信,其客戶端需要交換以下信息:

(1)控制初始化或關閉會話的控制消息和錯誤消息。

(2)媒體流元數據,比如像解碼器、編解碼器的配置、帶寬、分辨率等網絡配置數據。

(3)用來建立安全連接的關鍵秘鑰數據。

(4)外界所看到用戶在網絡上的數據,比如IP地址和端口等。

舉個例子,如圖1:假設客戶端A希望與客戶端B建立TCP連接,那么這兩個客戶端A和B首先需要連接至服務器S。服務器S注冊每個客戶端的IP和專用端口。客戶端A使用與服務器S活動的TCP會話來請求服務器S幫助其連接客戶端B。

圖1 Signaling Server工作原理圖

服務S把設備B的IP和端口回復給設備A,并在同一時間發送A的IP和端口給B。

設備A和設備B獲取到對方的IP端口后嘗試直連,傳出連接嘗試成功,或者失敗。如果其中一個傳出連接嘗試因網絡錯誤,例如連接重置、主機無法訪問而失敗,則主機只需在短暫延遲后重新嘗試該連接,直至應用程序,建立TCP連接后,主機會相互進行身份驗證,以驗證它們是否已連接到目標主機。如果身份驗證失敗,客戶端將關閉該連接并繼續等待其他連接成功。

具體的連接建立方式基于信令控制協議JSEP(JavaScript Session Establishment Protocol),在JSEP中,需要交換的關鍵信息是多媒體會話描述,由于開發者所使用的協議不盡相同,例如SIP或XMPP,WebRTC建立呼叫的思想建立在媒體流控制層面上,從而與上層信令傳輸相分離,防止相互之間的信令污染。只要上層信令為其提供了多媒體會話描述符這樣的關鍵信息就可以建立連接,不管開發者用何種方式來傳遞。

2.2 NAT穿透服務器 ICE Server

網絡地址轉換NAT(Network Address Translation)就是為解決IPV4下的IP地址匱乏而出現的一種技術。NAT設備允許在具有面向Internet的單個公共IP地址的路由器后面的專用網絡上,使用私有IP地址。內部網絡設備通過將傳出請求的源地址更改為NAT設備的源地址,并將回復中繼回原始設備來與外部網絡上的主機通信。

每個WebRTC終端都有一個唯一的地址,可以與其他對等端交換,以便直接通信和數據交換。但是NAT提供具有IP地址的設備在專用本地網絡內使用,但是該地址不能在外部使用。沒有公共地址,WebRTC對等體就無法進行通信。

為了解決這問題,我們需要ICE服務器來克服現實網絡的復雜性,借助NAT網關跟蹤來自專用網絡的出站請求,并維持每個已建立連接的狀態,以便將來自公共網絡上的對等體的響應直接響應到專用網絡中的對等體。保證了RTCPeerConnection能實現NAT穿越。

簡單地說就是將ICE服務器URL傳遞給RTCPeerConnection, ICE試圖找到連接對等體的最佳路徑。它并行嘗試所有可能性,并選擇最有效的選項。ICE首先嘗試使用從設備的操作系統和網卡獲得的主機地址建立連接。如果失敗它將用于NAT后面的設備,ICE使用STUN服務器獲取外部地址,如果失敗,則通過TURN中繼服務器路由其流量。

每個TURN服務器都支持STUN,TURN服務器也是STUN服務器,內置了增加的中繼功能,ICE還應對NAT設置的復雜性。

我們借助兩個客戶端的設備A和B,一開始通過TCP或UDP連接到具有全球公網IP的服務器S,如圖2:A,B兩個客戶端駐留在單獨的專用網絡里,和它們各自的NAT阻止客戶端直接與另一個客戶端連接。兩個客戶端可以簡單地使用服務器S在它們之間中繼消息,而不是嘗試直接連接。例如,向客戶端B發送消息,A只需將消息沿其已建立的客戶端/服務器連接發送到服務器S,服務器S使用其現有的客戶端/服務器連接S將消息轉發到客戶端B。

又由于A,B主動給公網IP的服務器S發消息,所以公網服務器可以穿透NAT A, NAT B送包給A,B。只要公網IP將B的IP/PORT發給A,A的IP/PORT發給B。這樣下次A和B互相消息,就不會被NAT阻攔了。

TURN用于在對等體之間中繼音頻、視頻數據流,而不是信令數據,服務器具有公共地址,因此即使對等體位于防火墻或代理之后,也可以與對等方聯系。

服務器具有公共地址,因此即使對等體位于防火墻或代理之后,也可以與對等方聯系。

圖2 NAT穿越原理圖

3 總結

基于WebRTC技術的網頁版網絡視頻會議技術,使用支持HTML5瀏覽器的設備即可,它與幾乎所有的瀏覽器兼容,無需額外下載安裝任何插件,極大地提高了安全性,且支持市面上所有主流的操作平臺。使開發者能夠容易地開發出網絡視頻聊天的web應用,同時也極大地減少開發成本,一次編寫到處運行,維護成本低。

應用中使用的編解碼器和協議可以進行大量工作,即使在不可靠的網絡上也可以進行強大而靈活的點對點實時通信,內置安全性(DTLS)和擁塞控制,內含多種容錯機制丟包隱藏、回聲消除、帶寬適應性、動態抖動緩沖、自動增益控制、降噪和抑制、圖像清潔等。以及多個對等端各自直接相互通信,或通過多點控制單元(MCU),進行選擇性流轉發,混合或錄制音頻和視頻。

而這一切都可以通過低廉的開發成本得到一個高性能的產品。

[1]趙宇.WebRTC技術在語音平臺中的應用研究[J].通信技術,2018.

[2]李鋒.WebRTC標準的現狀研究及展望[J].中國新通信,2018.

[3]孫衛喜,席少龍.P2P中NAT穿越問題的研究[J].計算機技術與發展,2014.

[4]韓可玉,王振濤,蘇繼斌.NAT和防火墻穿越技術研究[J].軟件導刊,2014.

[5]陳亮. 基于改進ICE協議的流媒體穿透NAT的研究[D].華南理工大學,2012.

[6]Cihan Topal,Cuneyt Akinlar. Secure seamless peer-to-peer (P2P) UDP communication using IPv4 LSRR option and IPv4+4 addresses[J]. Computers and Electrical Engineering,2008.

[7]Julian Jang-Jaccard,Surya Nepal,Branko Celler,Bo Yan. WebRTC-based video conferencing service for telehealth[J]. Computing,2016.

[8]Vogt,C.,Werner,M.J.,Schmidt,T.C.Leveraging WebRTC for P2P content distribution in web browsers[P]. ,2013.

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 午夜福利视频一区| 国产亚洲精品自在线| 国产精品无码翘臀在线看纯欲| 精品国产电影久久九九| 午夜福利在线观看成人| 欧美午夜精品| 999福利激情视频| 欧美一区精品| 四虎永久免费网站| 中国一级特黄视频| 国产激爽大片在线播放| 91激情视频| 亚洲丝袜中文字幕| 女人18毛片久久| 成色7777精品在线| 91精品视频在线播放| 国产在线精彩视频论坛| 国产高清无码麻豆精品| 国产手机在线观看| 亚洲娇小与黑人巨大交| 亚洲VA中文字幕| 嫩草国产在线| av手机版在线播放| 美女一级毛片无遮挡内谢| 97se亚洲综合| 国产精品hd在线播放| 国内精自视频品线一二区| 国产亚洲精品在天天在线麻豆| 国产情精品嫩草影院88av| 国产第八页| 久久综合国产乱子免费| 亚洲国内精品自在自线官| 欧美不卡视频在线| 国产一区二区三区在线精品专区| 老司机精品久久| 亚洲二三区| 毛片免费在线视频| 久草视频中文| 91色在线观看| 91九色视频网| 伦精品一区二区三区视频| 国产波多野结衣中文在线播放| 国产日韩丝袜一二三区| 最新亚洲人成网站在线观看| 欧美日韩精品一区二区在线线 | 超碰色了色| 午夜视频免费试看| 中国国语毛片免费观看视频| 成人午夜精品一级毛片| 国产jizzjizz视频| 99在线观看国产| 欧美一级大片在线观看| 沈阳少妇高潮在线| 99性视频| 伦伦影院精品一区| 亚洲最大情网站在线观看| 区国产精品搜索视频| 最新国产精品鲁鲁免费视频| 亚洲一级毛片| 热久久这里是精品6免费观看| 人人妻人人澡人人爽欧美一区| 暴力调教一区二区三区| 国模沟沟一区二区三区| 国产一区三区二区中文在线| 在线综合亚洲欧美网站| 欧亚日韩Av| 亚洲人成网站色7799在线播放| 亚洲精品片911| 亚洲第一区在线| 亚洲av成人无码网站在线观看| 视频二区亚洲精品| 国产97公开成人免费视频| 丝袜美女被出水视频一区| 国产h视频在线观看视频| 国产第一色| 国产亚洲精品91| 亚洲无码高清免费视频亚洲| 亚洲成a人片| 欧美激情二区三区| 日本黄色a视频| 1024国产在线| 色婷婷电影网|