国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WebRTC的家用遠(yuǎn)程視頻監(jiān)控軟件

2017-04-08 08:00:37袁智
電腦知識(shí)與技術(shù) 2017年5期
關(guān)鍵詞:客戶端服務(wù)器

袁智

摘要:基于Google開(kāi)源WebRTC視頻傳輸架構(gòu),設(shè)計(jì)了一種基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件。首先,設(shè)計(jì)了該軟件的基本功能,其次,搭建了視頻傳輸?shù)男帕罘?wù)器和穿網(wǎng)服務(wù)器并實(shí)現(xiàn)了Web客戶端。實(shí)驗(yàn)表明,該軟件可以支持跨平臺(tái)的視頻傳輸,支持多客戶端,且可以穿越NAT的限制。

關(guān)鍵詞:WebRTC;遠(yuǎn)程視頻監(jiān)控軟件;服務(wù)器;客戶端

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)05-0168-02

隨著社會(huì)的發(fā)展,安全問(wèn)題受到人們更多的關(guān)注。遠(yuǎn)程視頻監(jiān)控可以為人們提供實(shí)時(shí)、清晰的畫(huà)面,有利于年輕人對(duì)家庭、老人和小孩的安全的實(shí)時(shí)掌握,近年來(lái)受到廣泛的關(guān)注。

2011年,Google公司開(kāi)源了WebRTC[1](Web Real-Time Communication)技術(shù),目的是為了實(shí)現(xiàn)基于瀏覽器提供P2P的視頻通話。目前WebRTC已經(jīng)成為HTML5的標(biāo)準(zhǔn),微軟、蘋(píng)果、火狐等瀏覽器提供商已支持WebRTC技術(shù)。基于WebRTC技術(shù)視頻監(jiān)控的研究,尤其在家庭場(chǎng)景下具有重要的意義。WebRTC技術(shù)可以在低帶寬下實(shí)現(xiàn)流暢的視頻傳輸,且其P2P的傳輸設(shè)計(jì)使得個(gè)人信息得到很好的保護(hù)。

本文,基于WebRTC設(shè)計(jì)一種家用遠(yuǎn)程視頻監(jiān)控軟件?;赪ebRTC視頻傳輸架構(gòu),設(shè)計(jì)了并實(shí)現(xiàn)了視頻傳輸?shù)姆?wù)器和客戶端,并搭建了視頻傳輸穿網(wǎng)服務(wù)器,實(shí)現(xiàn)了視頻的P2P傳輸。

1 WebRTC簡(jiǎn)介

WebRTC是Google開(kāi)源的一項(xiàng)支持瀏覽器進(jìn)行P2P視頻通話的項(xiàng)目。其將音視頻處理功能內(nèi)嵌到瀏覽器中,是瀏覽器可以在不使用任何插件的情況下,直接對(duì)音視頻數(shù)據(jù)進(jìn)行處理。

1.1 WebRTC的系統(tǒng)架構(gòu)

WebRTC使用了世界上公認(rèn)的最好的音視頻處理引擎是,其NAT穿透方案的成功率達(dá)到83%[2],為開(kāi)發(fā)各種音視頻媒體客戶端提供便利。WebRTC的系統(tǒng)架構(gòu)[3]如圖1所示。

圖1中,Web API是面向第三方音視頻開(kāi)發(fā)者的JavaScript API,主要有Network API、RTC PeerConncetion API和RTC Data API;WebRTC Native C++ API是面向?yàn)g覽器廠商,用于瀏覽器的底層開(kāi)發(fā);信令管理部分主要負(fù)責(zé)基于Web應(yīng)用的信令控制部分;音頻引擎是WebRTC的音頻采集和音頻通話質(zhì)量保證的核心部分;視頻引擎是WebRTC的視頻采集和視頻通話質(zhì)量保證的核心部分;網(wǎng)絡(luò)傳輸模塊兒負(fù)責(zé)音視頻數(shù)據(jù)的傳輸和網(wǎng)絡(luò)中NAT和防火墻的穿透。

1.2 WebRTC的優(yōu)點(diǎn)

WebRTC支持跨平臺(tái)瀏覽器進(jìn)行實(shí)時(shí)的音視頻通信,目前已被W3C作為HTML5的標(biāo)準(zhǔn)。利用WebRTC不僅可以開(kāi)發(fā)實(shí)時(shí)的音視頻通信Web應(yīng)用,其核心模塊也可以單獨(dú)作為音視頻軟件的組成部分。

WebRTC主要有以下優(yōu)點(diǎn):(1)WebRTC技術(shù)目前已成為HTML5的標(biāo)準(zhǔn),主流的瀏覽器都提供了豐富的Web API方便開(kāi)發(fā);(2)WebRTC的音、視頻處理技術(shù)免費(fèi)、開(kāi)源,且能夠提供高質(zhì)量的通信質(zhì)量;(3)WebRTC技術(shù)可以和其他音、視頻通信技術(shù)融合,如VoIP(Voice Over IP)[4]、IMS(IP Multimedia Subsystem) [5]等。

2基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件

2.1基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件功能設(shè)計(jì)

圖2中,通過(guò)家中的攝像頭實(shí)時(shí)采集室內(nèi)的視頻數(shù)據(jù),并保存在本地;視頻傳輸服務(wù)器為遠(yuǎn)程的視頻客戶端提供建立視頻傳輸鏈接的服務(wù);遠(yuǎn)程視頻客戶端可以通過(guò)視頻服務(wù)器請(qǐng)求查看視頻。

2.2 基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件服務(wù)器的實(shí)現(xiàn)

圖3中,服務(wù)器開(kāi)啟后處于監(jiān)聽(tīng)狀態(tài)接收遠(yuǎn)程視頻鏈接建立請(qǐng)求消息;收到遠(yuǎn)程連接請(qǐng)求消息后,服務(wù)器根據(jù)消息的內(nèi)容向指定的視頻采集端廣播視頻鏈接請(qǐng)求消息;視頻采集端接收到鏈接請(qǐng)求消息后發(fā)送鏈接建立應(yīng)答消息給服務(wù)器,服務(wù)器接收到鏈接應(yīng)答消息后,廣播給遠(yuǎn)程視頻客戶端;視頻采集端和遠(yuǎn)程客戶端完成鏈接建立請(qǐng)求和應(yīng)答消息的交互后完成視頻傳輸鏈路的建立。

通常視頻采集端和遠(yuǎn)程客戶端處于不同的網(wǎng)絡(luò)環(huán)境中,要完成視頻的傳輸還需要穿越NAT(Network Address Translators)和防火墻的限制。WebRTC采用ICE(Interactive Connectivity Establishment )[6]協(xié)議完成NAT和防火墻的穿越,ICE需要STUN[7]和TURN(Traversal Using Relays around NAT )[8]服務(wù)器的支持,本文搭建來(lái)了開(kāi)源的STUN和TURN服務(wù)器來(lái)完成NAT和防火墻的穿透。

2.3 基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件客戶端的實(shí)現(xiàn)

客戶端分為視頻采集端和遠(yuǎn)程視頻監(jiān)控端。視頻采集端有兩個(gè)核心功能:遠(yuǎn)程視頻傳輸和本地視頻錄制。遠(yuǎn)程視頻監(jiān)控端接收視頻采集端的視頻流,進(jìn)行解碼,并通過(guò)緩沖等技術(shù)保證視頻的質(zhì)量。

視頻采集端采用WebRTC的getUserMedia API函數(shù)獲取本地視頻流,獲取視頻流后顯示在本地的Web界面上;調(diào)用WenRTC的PeerConnction API創(chuàng)建視頻傳輸鏈接,并將本地視頻流添加到PeerConnection中傳輸。

遠(yuǎn)程視頻監(jiān)控端,調(diào)用PeerConnction API函數(shù)與視頻采集端建立視頻傳輸鏈接,鏈接建立后實(shí)時(shí)接收視頻采集端的視頻流,并解碼顯示。

基于WebRTC的遠(yuǎn)程視頻監(jiān)控軟件客戶端框架圖如4所示。

3 實(shí)驗(yàn)與分析

如圖5中所示,視頻采集端和遠(yuǎn)程視頻監(jiān)控端分別連接在兩個(gè)路由器,路由器開(kāi)啟NAT功能,路由器和服務(wù)器主機(jī)連接在同一個(gè)交換機(jī)。

開(kāi)啟Web服務(wù)器,關(guān)閉穿網(wǎng)服務(wù)器,啟動(dòng)視頻視頻采集端,然后視頻監(jiān)控端請(qǐng)求遠(yuǎn)程視頻鏈接,視頻傳輸效果如圖6和圖7所示。

關(guān)閉穿網(wǎng)服務(wù)器時(shí)視頻采集端和視頻監(jiān)控端只能顯示本地視頻,無(wú)法正常傳輸視頻;開(kāi)啟穿網(wǎng)服務(wù)器后視頻采集端和監(jiān)控端可以正常傳輸視頻。這說(shuō)明本文的設(shè)計(jì)的信令服務(wù)器、穿網(wǎng)服務(wù)器、客戶端可以正常工作,且視頻傳輸可以穿越NAT和防火墻的限制。

4 總結(jié)

本文基于Google開(kāi)源視頻通話架構(gòu)WebRTC,設(shè)計(jì)并實(shí)現(xiàn)了一種家用遠(yuǎn)程視頻監(jiān)控軟件。首先,設(shè)計(jì)了軟件的服務(wù)器和客戶端的各部分功能;其次,搭建了視頻傳輸?shù)男帕罘?wù)器和穿網(wǎng)服務(wù)器,并實(shí)現(xiàn)了視頻采集客戶端和是哦監(jiān)控客戶端。實(shí)驗(yàn)表明,本文設(shè)計(jì)的服務(wù)器和客戶端可正常運(yùn)行,且視頻傳輸可以穿越NAT和防火墻的限制。

參考文獻(xiàn):

[1] 屈振華, 李慧云, 張海濤,等. WebRTC技術(shù)初探[J]. 電信科學(xué), 2012, 28(10):106-110.

[2] 嚴(yán)琦, 安崗, 杜杏蘭,等. WebRTC技術(shù)漫談和對(duì)運(yùn)營(yíng)商的影響[J]. 郵電設(shè)計(jì)技術(shù), 2015(8):73-77.

[3] 付斌, 楊鑫, 王松,等. WebRTC技術(shù)研究及其應(yīng)用[J]. 電信科學(xué), 2013, 29(9):108-112.

[4] 王躍軍. VoIP電話中基于WebRTC的回聲消除算法的開(kāi)發(fā)與實(shí)現(xiàn)[D]. 復(fù)旦大學(xué), 2013.

[5] 唐洪飛. 基于IMS的云視訊平臺(tái)方案應(yīng)用研究[J]. 郵電設(shè)計(jì)技術(shù), 2016(4):48-51.

[6] 胡勛, 周淵平. 基于WebRTC的Android移動(dòng)端無(wú)線視頻傳輸[J]. 微型機(jī)與應(yīng)用, 2015(19):83-85.

[7] 羅治情, 陳娉婷, 官波,等. 基于HTML5+WebRTC的農(nóng)業(yè)專家在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2016(3).

[8] 李香菊, 謝修娟, 鄭英. 基于WebRTC的實(shí)時(shí)視頻教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù), 2016, 39(6):114-116.

猜你喜歡
客戶端服務(wù)器
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
大樞紐 云平臺(tái) 客戶端——中央人民廣播電臺(tái)的探索之路
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
服務(wù)器操作系統(tǒng)可信加固技術(shù)研究
湖北電力(2016年10期)2016-04-25 07:55:55
關(guān)于Linux的視頻服務(wù)器開(kāi)發(fā)與實(shí)現(xiàn)分析
河南科技(2014年18期)2014-02-27 14:14:43
丹江口市| 靖州| 淮滨县| 仙居县| 临潭县| 江口县| 佛山市| 工布江达县| 江永县| 辽源市| 通许县| 喜德县| 布尔津县| 东莞市| 凤台县| 隆昌县| 栾城县| 桐柏县| 从江县| 鲁甸县| 洛隆县| 温泉县| 定日县| 惠州市| 大渡口区| 资阳市| 潢川县| 厦门市| 鄂伦春自治旗| 论坛| 凤翔县| 栖霞市| 晋中市| 永德县| 南皮县| 安吉县| 确山县| 甘德县| 富民县| 崇左市| 黄石市|