基于Android移动终端的多功能视频监控系统设计
   来源:现代电子技术     2018年08月26日 14:43

基于Android移动平台的视频监控系统设计与实现.pdf

郭志涛 韩海净 孔江浩 杨革宇 曹小青

摘 要: 随着嵌入式技术和移动通信技术的不断发展,利用智能移动终端设备进行远程监控已经成为网络监控研究领域的热点,本文设计了基于Android智能手机的多功能视频监控系统。该系统分为视频采集端、Android智能手机客户端、Web服务器三层设计。视频采集端利用网络摄像头采集视频,并将其以H.264标准压缩传输至服务器进行实时存储,同时利用传感器采集环境参数及有无人员入侵等信息;客户端通过TCP/IP协议与服务器建立通信,实现实时视频监控和监测数据的查阅,并对可疑情况报警与信息提示。综合测试结果表明,系统实时性高且部署灵活,获取的监控画面清晰稳定,可以满足无线网络环境下远程视频监控的要求。

关键词: 视频监控系统; Android; 服务器; TCP/IP; 嵌入式技术; 智能移动终端

中图分类号: TN948.64?34; TP311.5 文献标识码: A 文章编号: 1004?373X(2018)16?0096?04

Abstract: With the constant development of the embedded technology and mobile communication technology, the application of intelligent mobile terminal equipment for remote monitoring has become a hot spot in the research field of network monitoring. A multifunctional video surveillance system based on the Android smart phone is designed in this paper. In the system, three layers of the video acquisition terminal, Android smart phone client, and Web server are designed. In the video acquisition terminal, videos are collected by the network camera, compressed according to the H.264 standard, and then transmitted to the server for real?time storage. Meanwhile, environmental parameters and personnel intrusion information (if there is any) are collected by sensors. The communication between the client and the server is established by means of the TCP/IP protocol, so as to realize real?time video surveillance, monitoring data query, and alarm and message prompt of suspicious circumstances. The results of the comprehensive test show that the system has a high real?time performance and flexible deployment, can obtain clear and stable monitoring images, and meet the requirements of remote video monitoring in wireless network environment.

Keywords: video surveillance system; Android; server; TCP/IP; embedded technology; intelligent mobile terminal

数字视频监控将前端采集的监控现场的视频信息进行数字化处理,通过网络将数据传送至后端显示设备,供监控人员决策、反应,并可在此基础上实现人脸检测、运动检测、目标跟踪等智能化分析处理[1?2]。移动视频监控在某些特定应用场合克服了传统数字视频监控系统的缺陷,具有设备成本低、网络安装费用低、部署灵活、方便快捷等特点,可以应用于智能家居、公司企业管理、远程医疗、远程现场指挥等,监控人员可以自由灵活地掌握现场实时信息[3?4]。目前智能手机是最快捷、最普及的通信工具,其处理器能力在不断提高,现在手机性能完全满足视频监控的实时性、高带宽等技术要求。因此本文设计并实现了基于Android智能手机的多功能视频监控系统,监控人员可以实时远程观看清晰的监控视频并查看监控的环境参数,遇有可疑情况,系统会报警并发出提示信息。该系统具有很好的可靠性和便捷性,在家居安防方面具有一定的实用价值。

1 系统总体设计

系统总体设计包括视频采集端、Android智能手机客户端、Web服务器设计三部分。系统总体结构示意图如图1所示。

1) 视频采集端以STM32F103ZET6为控制核心,外围硬件电路主要由网络摄像头和传感器进行视频监控、环境监测的数据采集,视频通过Internet网络发送至Web服务器。

2) Android智能手机客户端交互软件用 Java 语言编程,并在 Android Studio软件环境中进行开发。客户端软件通过TCP/IP协议访问服务器获取视频数据和环境检测数据,并显示在客户端界面。

3) Web服务器的功能是存储视频采集端发送过来的视频信息,供Android客户端访问和下载。服务器端数据采用SQL Server数据库进行管理、维护。系统主要实现了实时远程视频监控、查看环境监测数据、自动切换视频清晰度、发出警报和APP警报通知等功能。

2 视频采集终端设计

本系统将装有网络摄像头、传感器的智能小车作为系统的视频采集终端,采集到的数据经过网络通信模块发送到服务器端;智能小车接收服务器指令进行前进、后退等动作进行多方位的视频监控,达到自由获取视频信息的目的。

2.1 视频采集端硬件设计

视频采集端即智能小車,其硬件主要由网络摄像头、网络通信模块、温湿度传感器、人体红外感应器、警报器、照明灯组成。智能小车以STM32F103ZET6芯片为控制器,与51系列芯片相比,其运行速度快,外围接口多,后续可方便增加传感器以扩展系统功能。智能小车具备灵活的移动性,使得摄像头可以360°采集视频信息,当监控环境光线昏暗时可以启用照明灯。网络摄像头采用雄迈 XM?JPR摄像头,具备红外夜视功能,可以4倍变焦,采集的视频数据按照H.264标准压缩,以IEEE 802.11n无线方式传输,传输帧率能够自适应调整;网络通信模块采用GL?iNet无线迷你路由器,通过对其进行刷摄像头驱动固件操作使摄像头正常工作,摄像头采集的视频数据通过路由器发送至服务器;系统采用SHT20温湿度传感器采集监控环境的温湿度信息,温度检测范围在-40~125 ℃,湿度的测量范围在0~100%,均采用串行数据传输方式传输;采用HC?SR501红外感应器进行人体防盗检测,当检测到有人入侵时,警报器会发出急促的报警声,同时向客户端发送警报,客户端能够在通知栏收到警报通知,其硬件结构框图如图2所示。

2.2 视频采集端软件设计

视频采集端程序在Keil环境下开发,使用C语言编写对各个硬件模块的控制代码,系统上电初始化后网络通信模块扫描设定的路由器SSID进行联网,连接成功后,摄像头采集的视频以H.264标准压缩由网络通信模块上传服务器。主控程序一方面将温湿度传感器采集数据上传服务器,为了方便服务器端接收、存储数据,数据以ASCII格式实现帧封装,起始字符以“#P”表示温度、“#w”表示湿度,结束字符为“@”;另一方面检测是否收到客户端发回的控制指令,收到指令后进行分析响应控制智能小车的移动。

3 Android客户端应用软件设计

3.1 客户端软件控制界面设计

Android客户端应用程序是用Java 语言编程,在Android Studio软件环境中进行开发,该软件具有构建程序方便、完善的插件系统、UI编译器性能好等优点。

Android客户端应用软件控制界面如图3所示。软件界面功能结构如图4所示,客户端用户交互界面主要由视频、环境监测、智能小车控制三部分功能模块组成。视频模块包含实时录像、照片抓拍和视频清晰度调节三种功能,点击实时录像按钮开始录像,再次点击完成录像并以时间为文件名保存MP4格式到视频列表中,点击拍照按钮进行拍照,抓拍照片以JPG格式保存视频列表中,视频清晰度能够自动检测当前网速并显示当前视频的清晰度的类别;环境监测模块显示当前温度、湿度,点击温度或湿度按钮将呈现8个整点时刻监测出的温湿度变化折线图界面,在设置按钮中设置温湿度最大值,当监测值超出设定值时,客户端状态栏会收到警告通知;智能小车控制模块通过按钮、进度条、重力感应(手机的倾斜角度)控制智能小车的行动,用于拍摄不同监控点的视频,点击探照灯和警报器按钮,发送指令打开智能小车的探照灯和警报器,发出警示信号。

每一个Android程序只有一个主线程,用来实现UI绘制及更新、业务逻辑、连接各子线程等。多个子线程完成耗时的操作(联网取数据、SD卡数据加载等)防止界面出现卡顿无反应现象[5]。在本设计的实时监控功能中,视频文件较大,若只放在主线程下载会出现用户等待时间过长或应用程序无响应的现象,分配三个子线程用于后台并发下载视频,而图片拍照在保存图片过程中需要写入SD卡也属于耗时操作。该过程相对于视频下载耗时较小,因此分配一个子线程进行拍照保存,其他的界面控制按钮的操作放在主线程进行。程序线程关系处理如图5所示。

3.2 客户端视频监控功能设计

前端视频监控摄像头采用雄迈XM?JPR网络摄像头,具有无线WiFi、视频按H.264标准压缩传输等特点的网络摄像机,采集的视频数据按照RSTP(实时流传输协议)协议发送至服务器端,客户端获取的视频数据经H.264解码还原视频图像后显示,为了提高解码效率,移植了FFmpeg开源音视频解码库进行H.264解码。FFmpeg是一套开源免费跨平台的音视频流工具,包括目前领先的音视频解码库Libavcodec,支持多于90种编解码标准及RTMP,HTTP,TCP等多种网络传输协议,将其移植到程序设计中,能增强程序对视频信息的处理能力,改善用户体验[6?7]。

由于查看监控视频手机连接网速快慢的不稳定性,在远程监控时用户往往体验不畅,为了改善用户体验,需要码流自适应和做到Android播放控件的自适应调节。播放控件自适应需根据网速的不同播放不同分辨率的视频,改变视频的编码码率保证缓冲区不会发生溢出。这里定义一个类名selfAdaption.class的Java文件,进行网速测试,调用Android流量统计TrafficStats类的getUidRxBytes()获取1 s内接收的数据量,后1 s数据量减去前1 s的差值为当前网速;根据计算的网速将视频清晰度分为高清、普清、流畅、图片显示4种格式,传入清晰度的分辨率参数到方法setVideoSize()中设置不同的清晰度,表1为不同网速设置的清晰度。

4 Web服务器设计

服务器的主要作用是视频采集端和Android客户端之间的数据传送的桥梁,存储视频采集端传送过来的数据,并供Android客户端访问和下载。服务器与采集端、客户端通信的实现是基于TCP/IP协议Socket编程,通过创建不同的Socket可以与多个终端通信,首先以设定好的端口号为参数创建ServerSocket对象,调用该对象的accept()方法监听客户端Socket连接请求,若没有请求将一直处于堵塞状态,当有数据到来时,由InputStream对象读取数据OutputStream对象发送数据。服务器接收请求流程如图6所示。服务器端采用SQL Server数据库进行管理、维护,首先创建一个videoMonitor.db数据库,并创建video_tb,data_tb两个数据表,其中video_tb存放采集端发送的视频数据,data_tb存放温度、湿度的监控数据。DAO(Data Access Object)类即数据访问对象用于连接数据库和操作数据库(增删改查),通过继承Dao类创建video_Dao类和data_Dao类分别对video_tb、data_tb表进行业务逻辑操作处理。

5 系统测试

本测试在装有Android 6.0的小米5软件环境下进行。将编写的Android客户端应用程序安装到手机上,视频采集端(智能小车)上电初始化,打开手机客户端软件,进行WiFi连接,若连接失败界面出现重新连接提示语,待连接成功后,提示成功连接服务器,出现监控画面;点击界面上控制智能小车的各个按钮,智能小车完成了按钮对应的移动监控,客户端界面实时显示监控画面,并成功获取环境监测的数据;当有人进入摄像头监控区域时警报器响,界面的警报器控件变成红色警告状态,客户端的通知栏收到推送警告通知。视频监控画面如图7所示,环境监测的最新数据如图8所示。

6 结 语

移动视频监控以其成本费用低、操作方便灵活等优势特点,在家居安防监控方面赢得大量市场需求。本文提出基于Android智能手机的多功能视频监控的方案,用户通过安装设计的视频监控APP,在手机联网状态下可随时随地观看监控画面。经过综合测试,本系统很好地实现了监控系统的功能,具有可靠性高、方便灵活的特点,后续可增加一些传感器扩展其功能,设计客户端多路监控,将客户端的界面设计得更加美观并易于操作。

参考文献

[1] 宁栗.基于Android平台视频监控系统的设计[D].北京:北京邮电大学,2011.

NING Li. Design of video surveillance system based on Android platform [D]. Beijing: Beijing University of Posts and Telecommunications, 2011.

[2] ZHANG Y X, LI F Q, TAO X, et al. Design and implementation of an intelligent video surveillance system based on Android phone [J]. Advanced materials research, 2013, 816?817: 1126?1130.

[3] 杨飞,陈德艳,黄国宏,等.基于Android智能终端的移动视频监控系统研究[J].计算机技术与发展,2013(2):195?198.

YANG Fei, CHEN Deyan, HUANG Guohong, et al. Research on mobile video surveillance system based on Android smart terminal [J]. Computer technology and development, 2013(2): 195?198.

[4] 周骑,诸强.无线视频监控系统研究及应用[J].无线互联科技,2015(1):78?80.

ZHOU Qi, ZHU Qiang. The research and application of wireless video monitoring system [J]. Wireless Internet technology, 2015(1): 78?80.

[5] ZHOU Y, CHEN Z, LI K. Second?level buffer cache management [J]. IEEE transactions on parallel & distributed systems, 2004, 15(6): 505?519.

[6] 路青起,席丹丹.嵌入式Linux系统移植[J].国外电子测量技术,2014,33(12):78?81.

LU Qingqi, XI Dandan. Transplantation of embedded Linux system [J]. Foreign electronic measurement technology, 2014, 33(12): 78?81.

[7] 任广杰,朱启东,曹宁.高清视频监控中的若干关键技术分析[J].电信科学,2011,27(2):119?123.

REN Guangjie, ZHU Qidong, CAO Ning. Analysis of some key technologies in high definition video surveillance [J]. Telecommunications science, 2011, 27(2): 119?123.

[8] MEIER R. Professional Android 2 application development [M]. Birmingham: Wrox Press, 2010.

[9] 张璘,冯陈伟,周超.基于Android的远程视频监控系统的设计与实现[J].计算机应用,2016,36(z1):301?304.

ZHANG Lin, FENG Chenwei, ZHOU Chao. Design of remote video surveillance system based on Android system [J]. Journal of computer applications, 2016, 36(S1): 301?304.

[10] 张剑龙,王耀青,杨柳.基于3G和WiFi的无线视频监控系统的设计[J].电视技术,2015,39(16):57?60.

ZHANG Jianlong, WANG Yaoqing, YANG Liu. Design of wireless video monitoring system based on 3G and WiFi [J]. Video engineering, 2015, 39(16): 57?60.

文章 视频 客户端