曾欣慧
(武汉大学 电子信息学院,湖北 武汉 430072)
面向Android客户端的无线视频监控系统设计
曾欣慧
(武汉大学 电子信息学院,湖北 武汉430072)
为了满足智能家居应用中随时随地进行视频监控的要求,基于ARM嵌入式平台,设计一种面向Android客户端的无线视频监控系统,该系统可实现无线中继传输,具备端到端动态地址连接能力,并按需采集传输视频数据。系统采用H.264视频编码技术,基于实时传输协议和IEEE 802.11g协议传输数据,可通过无线局域网或互联网获得监控视频。通过构建实验演示平台进行了系统测试和分析,结果表明该系统部署灵活,获取的监控画面清晰稳定,可以满足无线网络环境下家庭视频监控的要求。
视频监控;中继传输;无线网络;端到端连接
家庭视频监控是智能家居的重要组成部分,人们希望能随时随地查看家中各个房间的监控视频,以确保家庭成员和环境的安全。传统的监控系统装配体积较大的监控设备和服务器,采用有线传输监控画面,具有布线复杂、可扩展性差、灵活性低的特点。随着无线通信网络技术的发展和网络带宽的提高,视频监控可以通过更加方便灵活的无线网络传输数据,而采用802.11单跳网络传输视频数据存在覆盖范围小,边缘地带信号质量差的问题,不能很好地满足家庭视频监控的要求[1⁃3]。同时,视频点播以及视频监控普遍采用服务器转发模式,并持续进行视频数据采集与传输,对采集端和服务器处理能力以及网络传输带宽要求较高。而在传输端和客户端之间建立直连,按需采集传输视频数据,能够减小资源消耗,并可在一定程度保障家庭视频监控信息的安全。近年来,Android智能手机和平板电脑已经得到普及,因而,面向Android客户端的P2P无线视频监控系统将具有广泛的应用价值。
视频监控的目的是帮助人们利用网络和终端实时访问家庭监控视频,掌握家中的安全状态,采集家中的监控视频信息,客户端通过采集端IP地址请求访问监控视频。在家庭局域网中,采集传输端和客户端可通过分配的静态局域网络IP地址建立端到端(Peer to Peer,P2P)连接。而当客户端通过移动互联网(或互联网)进行远程访问时,由于采集传输端和客户端多没有全球惟一的IP地址,需要借助外部服务器进行地址转发帮助建立连接。所以整个视频监控系统由视频采集传输端、客户端和外部服务器组成。在一个无线接入点(Ac⁃cess Point,AP)不能覆盖家庭范围的情况下,可使用多个AP中继传输扩大监控范围。系统连接关系示意图如图1所示。
图1 无线视频监控系统连接关系示意图
1.1无线视频采集传输模块设计
为了适应安装灵活、低成本、高性能的应用需求,系统采用ARM处理器作为视频采集传输端的处理核心。在常规工作模式下,按需采集和传输数据,没有查看请求时不启动视频采集传输流程,可极大地降低不必要的信息传输流量。为了有效保障家庭安全,系统通过红外传感器、接近传感器、玻璃破碎传感器检测外部接近和意外闯入事件,通过事件驱动启动视频采集流程进入事件驱动监控模式,并实时推送告警消息。在事件驱动监控模式下,客户端可远程存储监控视频信息。也可通过图像检测的方法判断是否有异常闯入事件。
无线视频采集传输模块硬件组成包括ARM处理器、红外传感器、接近传感器、玻璃破碎传感器、USB摄像头、SD卡、无线局域网模块。传感器数据输出口与处理器输入口连接;USB摄像头采集视频数据可存储于大容量SD卡;无线局域网模块通过SDIO接口与处理器连接,接入家庭无线局域网。Android智能终端作为接收客户端。传输模块硬件组成如图2所示。
图2 无线视频采集传输模块硬件组成图
1.2无线视频监控系统软件设计
现行的家庭远程视频监控系统多通过第三方服务器进行视频的转发和存储,家庭内部视频信息存储于外部服务器上,将带来隐私保护的安全问题,同时也会浪费不必要的网络资源和服务器资源。P2P点技术主要特点是整个网络结构中不存在中心节点,每个节点能同时作为信息提供者和信息消费者,打破了传统的服务器与客户端的界限。无线视频监控系统可能受到的隐私安全威胁主要来自存储视频泄露和视频采集传输端非法访问。采用P2P系统架构可避免家庭视频监控数据通过外部服务器进行中转和存储,能有效保护家庭隐私。针对视频采集端非法访问,可通过身份验证和视频流加密相结合的方法,保证视频会话连接的可靠和数据传输的安全,进一步提高无线视频传输系统的保护隐私能力。
因此,本系统采用P2P架构。在无惟一IP地址的远程客户端互联网访问时,通过服务器与采集端交换地址和端口信息,以建立端到端连接。当多个客户端同时访问一个视频采集传输终端时,在采集传输端和客户端建立一个用户数据报协议(User Datagram Protocol,UDP)多播组广播监控视频数据,实现同时访问。系统软件结构如图3所示,系统分为采集传输端、客户端和服务器端软件。其中采集传输端由视频采集、压缩编码、数据通信、报警推送和发送端控制逻辑5个模块组成。发送端控制逻辑用于检测环境异常和用户传输请求,控制采集传输和消息推送模块的状态。客户端软件分为数据通信、解压解码、视频播放、推送接收、接收端控制逻辑模块。接收端控制逻辑管理视频数据请求。
图3 系统软件架构图
传输系统主要功能模块包括数据采集、视频编解码、数据传输和端到端连接模块。
2.1数据采集
因为无线视频传输系统采用按需采集和按需传输的模式,需要采集系统在不启动视频采集传输流程的时候具有发现家庭异常情况的能力,所以使用传感器辅助检测异常情况。数据采集模块通过采集视频数据为客户端提供监控画面,通过采集传感器数据感应意外状况,从而及时推送报警信息。
一个家庭内无线视频传输系统可能配置有多个采集传输端,家庭成员持有多个客户端。一个传感器采集到异常信息则给所有家庭成员客户端推送报警信息。采集端传感器在家庭成员外出或休息时可开启,传感器异常报警推送流程如图4所示。玻璃破碎传感器检测状态异常,表明窗户玻璃突然破碎;红外传感器和接近传感器状况异常,则表明有生物靠近门窗边并持续接近。两种情况下均认为家庭安全受到外来人员威胁,发送报警推送请求。
图4 报警推送流程图
2.2视频数据编解码
视频传输对网络环境的要求非常高,要实现大容量视频数据和视频存储,必须要先对采集到的视频数据进行压缩处理。视频编码领域视频编码标准有H.263,H.264,H.265,MPEG⁃1,MPEG⁃2,MPEG⁃4等标准,其中,H.264编码平均比H.263节省50%的码率,能在低码率情况下提供高质量的视频图像[4]。并且市场上主流编解码器对H.264的支持广泛,而H.265由于硬件厂商支持不足的原因普及度不高,所以本视频监控系统编码技术采用H.264标准。H.264编解码通过视频编码层(Net⁃work Abstraction Layer,VCL)进行视频内容的高效压缩,通过网络提取层(Network Abstraction Layer,NAL)完成数据格式的封装,封装后视频数据能在Internet上利用传输协议传输数据[5]。NAL层封装后的数据为网络抽象层单元(Network Abstraction Layer Unit,NALU),H.264的基本数据流由一系列NALU组成。
H.264编解码实现方式有硬件编解码和软件编解码,硬件编解码利用支持H.264标准的解码集成电路或含专用解码芯片和系统芯片编解码数据;软件编解码实现主要利用支持H.264标准的解码软件。硬件编解码处理速度比较快,延时小,占用CPU资源少,本系统视频数据的压缩选用硬件编码。但由于目前大部分Android设备不支持硬解码,所以采用软件解码视频流。
2.3视频数据传输
家庭无线视频监控系统中原始视频数据经过H.264编码后,需要通过传输层协议封装传输。TCP/IP协议栈传输层基本协议包括传输控制协议(Transmis⁃sion Control Protocol,TCP)和UDP。其中TCP保证数据可靠传输,但传输时延较大,直接采用TCP传输视频监控数据不符合实时传输的要求;而UDP传输简单、实时性强,但不保证传输数据可靠性和顺序到达,客户端收到的H.264视频数据包可能无法正确按顺序还原。实时传输协议(Real⁃time Transport Protocol,RTP)是建立在TCP,UDP上的传输层协议,为数据提供了具有实时特征的端对端传送服务。RTP协议数据通过给数据包分配序列号的方法来确保视频数据接收后按照顺序恢复。在本系统中采用基于UDP的RTP传输实时视频数据。
使用RTP传输H.264视频流的方法是从H.264视频中剥离出NALU。每个NALU前用起始码0x0001作为一个NALU的起始标识。RTP在NALU前添加RTP包头,然后将包含RTP包头和NALU的数据包发送出去。
2.4网络连接建立
在视频监控系统中,传输端与客户端建立连接时,需两者处于同一局域网或者一方有合法公网地址。采集端和客户端所处网络和分配IP可能情况见表1。
表1 系统网络分配情况
序号1所示情况可以直接通过局域网IP发起连接请求。序号2、序号3所示情况则不能直接请求建立连接,需通过网络地址转换(Network Address Translation,NAT)将采集端内部地址映射为一个合法公网地址;802.11单跳网络无法覆盖整个家庭范围,家庭内部使用多AP部署无线网络时,需要保证多AP所在网络属于同一局域网。网络运营商给普通家庭用户分配的IP一般是动态变化的,没有固定的公网IP,所以不能通过端口映射到公网IP的方式直接建立网络连接,局域网内的监控设备和局域网外的智能终端需要通信,必须要进行内网穿透即NAT穿透[6]。
在NAT穿透技术中,UDP打洞(Hole Punching)技术通过聚集服务器,转发公有端点地址消息,使两个客户机建立P2P UDP对话,不需要服务器和客户端支持专有协议。在视频监控系统广域网的应用场景下,如表1中序号2、序号3情况所示,外网访问方案采用UDP打洞技术能最大程度减少服务器的开销。UDP打洞技术原理如图5所示,A表示采集传输端,B表示客户端。A向服务器发送UDP消息告知其设备标识符和NAT地址,并在局域网地址上监听UDP数据报。当B希望与A建立P2P连接时,通过A的标识符向服务器发送UDP请求查询其NAT地址,服务器向B转发A的NAT地址,用户B向A的NAT地址发送UDP数据包,此时,用户B的UDP数据包经过NAT A的端口映射,转发给用户A监听的UDP端口,A与B完成P2P连接建立的工作。
图5 UDP的NAT穿越技术原理图
为了扩大AP信号覆盖范围,无线网络通过多个AP通过桥接或中继器的方式连接形成分布式无线(Wire⁃less Distribution System,WDS)网络。中继模式下从某一接入点接收的信息包通过分布式无线系统连接转发到另一个接入点;桥接模式接收的信息包只能被转发到有线网络或无线主机。由于只有中继模式可以进行WDS到WDS信息包的转发,所以系统中AP在中继模式下建立连接,实现信号中继和无缝切换,从而使接入不同AP的采集端和客户端处于同一局域网网段。
为了检验所设计视频监控系统的可行性以及性能,通过搭建实验开发平台进行实验验证,并对视频传输系统的性能进行了分析。
3.1系统实验平台
系统的测试实验中硬件平台的搭建处理器采用ARM11处理器,Linux 2.6.28系统内核版本,处理器自带MFC(Multi Format Codec)编码器,支持H.264格式的编解码;USB摄像头采集视频帧大小为320×240;接收端Android手机屏幕大小为480×800。
3.2测试结果
本系统客户端监控画面如图6所示,屏幕显示播放画面大小为480×320,帧率为25 f/s。
图6 Android客户端监控画面
为了测试数据传输的实时性,进行了数据包时延实验。采集传输端与AP间距离小时,使用单个AP传输无线信号;间距离大、网络信号弱时,采用两个AP中继传输。采集传输端和客户端位于不同局域网,数据包发送时间和接收后还原时间差值为接收时延。测试的网络带宽为2 Mb/s,两种情况下分别进行了50次实验,每次发送100个数据包,数据包发送时间到完全接收的延时均小于0.5 s,说明网络正常情况下,数据传输实时性强。
为了获取视频数据正常传输所需的最小带宽,在单跳无线网络和AP中继无线网络中分别进行了接收成功率实验。限制采集端IP地址最大上行带宽从0 Kb/s依次增加25 Kb/s直至300 Kb/s,记录不同带宽下成功收到的视频帧数,计算平均接收成功率,结果如图7所示。
图7 不同带宽下的视频帧平均接收成功率
从图7中可以看出,在单跳网络中,带宽较小时有大量丢包,带宽增加后成功接收率随之增大,带宽增大到200 Kb/s时视频帧基本均能成功接收;两个AP中继传输时,视频帧平均接收成功率与单跳传输接近,带宽增大到250 Kb/s时视频帧基本均能成功接收,传输的稳定性也只略有下降。说明两种情况下监控视频传输需要的带宽均较小,在网络带宽正常情况下丢包率很小,传输稳定,家庭无线网络带宽能够满足监控要求。
本文设计了一种基于ARM处理器、存储设备、USB摄像头、传感器、无线网络模块和Android客户端的无线视频传输系统,按需采集传输视频数据。设计了系统的硬件组成架构和软件功能模块,实现了无线网络下监控视频远程中继传输,并通过实验测试了系统数据传输性能。本文设计的系统部署灵活,能适应家庭视频监控不同使用场景的需要,获取的监控画面清晰稳定,可以满足无线网络环境下家庭视频监控的要求。下一步将重点解决身份验证、视频流加密和图像异常检测等技术问题,进一步提高视频传输系统的保护隐私能力。
[1]林飞龙.基于ARM的远程监控报警系统的研究与设计[D].长沙:湖南大学,2014.
[2]张超.基于嵌入式Linux的交通视频采集传输系统[D].西安:长安大学,2013.
[3]谢慧芝.基于移动终端的嵌入式视频监控系统的研究与应用[D].南昌:南昌大学,2013.
[4]孙克辉,尧平,洪娟娟,等.基于JRTPLIB库的H.264视频传输系统[J].计算机系统应用,2011,20(12):21⁃24.
[5]单俊丽.基于Android的流媒体客户端的研究与设计[D].西安:西安电子科技大学,2013.
[6]梁坤.一种面向安全虚拟网络的NAT双向穿透方法[D].长沙:湖南大学,2010.
[7]Rosenberg J,Mahy R,Matthews P.Traversal using relays around Nat(TURN):relay extensions to session traversal utili⁃ties for Nat(STUN):RFC 5766[S].[S.l.]:FRC,2010.
[8]黄春文.中继信道相位响应模型及其估计算法研究[J].现代电子技术,2014,37(4):13⁃16.
Design of wireless video surveillance system for Android client
ZENG Xinhui
(School of Electronic Information,Wuhan University,Wuhan 430072,China)
Aiming at demand of getting video surveillance whenever and wherever possible in application process of smart home,a wireless video surveillance system for Android client was designed on the basis of ARM embedded platform.The system supports wireless relaying transmission,possesses an ability of peer⁃to⁃peer(P2P)connection with dynamic address,acquires and transmits video data as required.The H.264 video coding technology is adopted in the system.The real⁃time transport proto⁃col(RTP)and IEEE802.11g protocol are used to transfer the encoded data.Surveillance video can be gotten with wireless local area network or Internet.An experimental demonstration platform was built to test and analyze the performance of the system. The results show that the system can be flexibly deployed,the accessed monitoring video is clear and stable,and the wireless video surveillance system can meet the requirements of video monitoring for smart home in the wireless network environment.
video surveillance;repeating transmission;wireless network;peer⁃to⁃peer(P2P)connection
TN948.64⁃34;TP399
A
1004⁃373X(2016)12⁃0006⁃04
10.16652/j.issn.1004⁃373x.2016.12.002
2015⁃11⁃09 基金项目:国家自然科学基金(61571334);国家“863”计划项目(2014AA09A512)
曾欣慧(1992—),女,湖北孝感人,硕士。主要研究方向为无线传感网。