基于WebRTC的家用远程视频监控软件

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:qwerdfhkotfd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:基于Google开源WebRTC视频传输架构,设计了一种基于WebRTC的远程视频监控软件。首先,设计了该软件的基本功能,其次,搭建了视频传输的信令服务器和穿网服务器并实现了Web客户端。实验表明,该软件可以支持跨平台的视频传输,支持多客户端,且可以穿越NAT的限制。
  关键词:WebRTC;远程视频监控软件;服务器;客户端
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)05-0168-02
  随着社会的发展,安全问题受到人们更多的关注。远程视频监控可以为人们提供实时、清晰的画面,有利于年轻人对家庭、老人和小孩的安全的实时掌握,近年来受到广泛的关注。
  2011年,Google公司开源了WebRTC[1](Web Real-Time Communication)技术,目的是为了实现基于浏览器提供P2P的视频通话。目前WebRTC已经成为HTML5的标准,微软、苹果、火狐等浏览器提供商已支持WebRTC技术。基于WebRTC技术视频监控的研究,尤其在家庭场景下具有重要的意义。WebRTC技术可以在低带宽下实现流畅的视频传输,且其P2P的传输设计使得个人信息得到很好的保护。
  本文,基于WebRTC设计一种家用远程视频监控软件。基于WebRTC视频传输架构,设计了并实现了视频传输的服务器和客户端,并搭建了视频传输穿网服务器,实现了视频的P2P传输。
  1 WebRTC简介
  WebRTC是Google开源的一项支持浏览器进行P2P视频通话的项目。其将音视频处理功能内嵌到浏览器中,是浏览器可以在不使用任何插件的情况下,直接对音视频数据进行处理。
  1.1 WebRTC的系统架构
  WebRTC使用了世界上公认的最好的音视频处理引擎是,其NAT穿透方案的成功率达到83%[2],为开发各种音视频媒体客户端提供便利。WebRTC的系统架构[3]如图1所示。
  图1中,Web API是面向第三方音视频开发者的JavaScript API,主要有Network API、RTC PeerConncetion API和RTC Data API;WebRTC Native C API是面向浏览器厂商,用于浏览器的底层开发;信令管理部分主要负责基于Web应用的信令控制部分;音频引擎是WebRTC的音频采集和音频通话质量保证的核心部分;视频引擎是WebRTC的视频采集和视频通话质量保证的核心部分;网络传输模块儿负责音视频数据的传输和网络中NAT和防火墙的穿透。
  1.2 WebRTC的优点
  WebRTC支持跨平台浏览器进行实时的音视频通信,目前已被W3C作为HTML5的标准。利用WebRTC不仅可以开发实时的音视频通信Web应用,其核心模块也可以单独作为音视频软件的组成部分。
  WebRTC主要有以下优点:(1)WebRTC技術目前已成为HTML5的标准,主流的浏览器都提供了丰富的Web API方便开发;(2)WebRTC的音、视频处理技术免费、开源,且能够提供高质量的通信质量;(3)WebRTC技术可以和其他音、视频通信技术融合,如VoIP(Voice Over IP)[4]、IMS(IP Multimedia Subsystem) [5]等。
  2基于WebRTC的远程视频监控软件
  2.1基于WebRTC的远程视频监控软件功能设计
  图2中,通过家中的摄像头实时采集室内的视频数据,并保存在本地;视频传输服务器为远程的视频客户端提供建立视频传输链接的服务;远程视频客户端可以通过视频服务器请求查看视频。
  2.2 基于WebRTC的远程视频监控软件服务器的实现
  图3中,服务器开启后处于监听状态接收远程视频链接建立请求消息;收到远程连接请求消息后,服务器根据消息的内容向指定的视频采集端广播视频链接请求消息;视频采集端接收到链接请求消息后发送链接建立应答消息给服务器,服务器接收到链接应答消息后,广播给远程视频客户端;视频采集端和远程客户端完成链接建立请求和应答消息的交互后完成视频传输链路的建立。
  通常视频采集端和远程客户端处于不同的网络环境中,要完成视频的传输还需要穿越NAT(Network Address Translators)和防火墙的限制。WebRTC采用ICE(Interactive Connectivity Establishment )[6]协议完成NAT和防火墙的穿越,ICE需要STUN[7]和TURN(Traversal Using Relays around NAT )[8]服务器的支持,本文搭建来了开源的STUN和TURN服务器来完成NAT和防火墙的穿透。
  2.3 基于WebRTC的远程视频监控软件客户端的实现
  客户端分为视频采集端和远程视频监控端。视频采集端有两个核心功能:远程视频传输和本地视频录制。远程视频监控端接收视频采集端的视频流,进行解码,并通过缓冲等技术保证视频的质量。
  视频采集端采用WebRTC的getUserMedia API函数获取本地视频流,获取视频流后显示在本地的Web界面上;调用WenRTC的PeerConnction API创建视频传输链接,并将本地视频流添加到PeerConnection中传输。
  远程视频监控端,调用PeerConnction API函数与视频采集端建立视频传输链接,链接建立后实时接收视频采集端的视频流,并解码显示。
  基于WebRTC的远程视频监控软件客户端框架图如4所示。
  3 实验与分析
  如图5中所示,视频采集端和远程视频监控端分别连接在两个路由器,路由器开启NAT功能,路由器和服务器主机连接在同一个交换机。
  开启Web服务器,关闭穿网服务器,启动视频视频采集端,然后视频监控端请求远程视频链接,视频传输效果如图6和图7所示。
  关闭穿网服务器时视频采集端和视频监控端只能显示本地视频,无法正常传输视频;开启穿网服务器后视频采集端和监控端可以正常传输视频。这说明本文的设计的信令服务器、穿网服务器、客户端可以正常工作,且视频传输可以穿越NAT和防火墙的限制。
  4 总结
  本文基于Google开源视频通话架构WebRTC,设计并实现了一种家用远程视频监控软件。首先,设计了软件的服务器和客户端的各部分功能;其次,搭建了视频传输的信令服务器和穿网服务器,并实现了视频采集客户端和是哦监控客户端。实验表明,本文设计的服务器和客户端可正常运行,且视频传输可以穿越NAT和防火墙的限制。
  参考文献:
  [1] 屈振华, 李慧云, 张海涛,等. WebRTC技术初探[J]. 电信科学, 2012, 28(10):106-110.
  [2] 严琦, 安岗, 杜杏兰,等. WebRTC技术漫谈和对运营商的影响[J]. 邮电设计技术, 2015(8):73-77.
  [3] 付斌, 杨鑫, 王松,等. WebRTC技术研究及其应用[J]. 电信科学, 2013, 29(9):108-112.
  [4] 王跃军. VoIP电话中基于WebRTC的回声消除算法的开发与实现[D]. 复旦大学, 2013.
  [5] 唐洪飞. 基于IMS的云视讯平台方案应用研究[J]. 邮电设计技术, 2016(4):48-51.
  [6] 胡勋, 周渊平. 基于WebRTC的Android移动端无线视频传输[J]. 微型机与应用, 2015(19):83-85.
  [7] 罗治情, 陈娉婷, 官波,等. 基于HTML5 WebRTC的农业专家在线教学系统的设计与实现[J]. 农业网络信息, 2016(3).
  [8] 李香菊, 谢修娟, 郑英. 基于WebRTC的实时视频教学系统的设计与实现[J]. 现代电子技术, 2016, 39(6):114-116.
其他文献
市场经济发展给当今社会带来了眼花缭乱而又充满魅力的变化,人们仿佛突然从梦中醒来。从每年大年初五那不绝于耳的"迎财神"鞭炮声中,我们看到了那种渴望致富的骚动。于是,如
移动硬盘作为数据移动存储工具,很多时候往往存储了比较重要的文件。由于要经常随身携带,难免有时会丢失,一旦丢失,数据将变得不再安全。如果移动硬盘里面有极为重要的资料,
采用恒电位电解法用不同电解质、在不同过电位下获得银枝晶纳米结构,并用扫描电镜(SEM)技术和X射线衍射分析对所得粉末进行表征。采用硝酸盐电解质在极限扩散电流密度的平台
通过第一性原理方法计算了高压下AlSc2Si2金属间化学物的结构、力学、电子和光学特性。计算的弹性常数及模量表明AlSc2Si2在高压下保持良好的力学稳定性。将AlSc2Si2和Al3Sc
经济的全球化需要英语人才培养模式创新改革,拥有强大工程背景的独立学院英语专业结合当地特色,从管理机制的调整、跨学科一体化培养方案的修订、教学方法改革的创新入手,以"
归因是语言教学中的一个值得研究的领域。近年来归因研究发展迅速,越来越多的研究者和学者认识到p-2/因的重要性,关注影响外语学习者、外语学习动机及学习成绩的不同归因。相关
采用电解脱氧工艺,以不同比例的TiO2和GeO2混合物为前驱体,在电压为3.0V、温度为800℃的电解条件下,制备Ti-Ge(TixGey)金属间化合物.在同样电解条件下,以5TiO2-3GeO2或5CaTiO3-
在建设资源节约型、环境友好型社会已经成为我国新国策的特殊历史阶段,民族工业自动化仪器仪表产业在我国节能减排中发挥着愈来愈重要的作用。本文阐述了民族工业自动化产业
楚方言词“沤”的本义为“浸泡”.“涹”、“沃”、“渥”不仅在“浸泡”义上是“沤”的通假字,而且在词义演变关系上存在相似性.在现代汉语方言中,“沤”不仅保留其在古楚方
马路上行驶的无非是公车私车两种,那么“黑车呢”?“黑车”的身份就不太明朗。你要刻意等一辆“黑车”,未必能找到,当你愁眉苦脸举步维艰时,说不准哪辆“黑车”就停在你面前