版权信息
省级大型综合性科技类期刊
主管部门:自治区科技厅
主办单位:自治区科学技术信息研究院 
协办单位:自治区科学技术情报学会
编辑出版:科技期刊编译室
刊社地址:呼和浩特新城西街149号本刊杂志社
邮政编码:010000
电      话:0471-2536371

E-mail  :

nmgkjzz@vip.163.com 

网站地址:www.nmgkjzz.com


往期杂志
当前位置: 首页>往期杂志>详细介绍

基于Android的无线视频监控系统的设计与实现*

时间:2016-09-05来源: 作者: 点击: 286次


叶楠

(福州理工学院 信息工程系,福建 福州 350002)

 

【摘  要】为了满足用户随时随地对一定范围内的监控点进行视频监控,将网络视频监控和智能移动终端相结合,通过Android客户端解析摄像头前端实时采集的视频数据,显示在Android设备的监控屏幕上,实现了远程实时监控动态画面的功能。借助无线路由器接收从Android客户端发送的控制命令,并通过串口转发给云台控制端进行解析来驱动硬件,使摄像头上下左右旋转,也可以控制继电器的开关。基于Android的无线视频监控系统,提高了视频监控效率和灵活性,为企业和家庭提供了更高效的监控解决方案。

【关键词】Android;无线路由;视频监控;云台控制

【中图分类号】TN949.6          【文献标志码】B

Implementation and Design of Wireless Video Monitoring System Based on Android

 

YE Nan

Department of Information Engineering, Fuzhou Institute of technology, Fuzhou 350506, China

 

AbstractIn order to meet the requirements of monitoring any site for users at any time, the network video surveillance system is combined with the smart mobile terminal. Through parsing the realtime video data collected by Android camera and displaying in the Android device, the function of monitoring realtime dynamic scenes remotely is been achieved. By receiving the control commands from Android device, wireless router transmits it to pan-tilt-zoom controller by serial port then parse the commands to drive hardware about rotation of camera and switch of relay. The wireless video monitoring system based on Android improves the efficiency and flexibility of monitoring, and affords the more efficient scheme of video monitoring for enterprise and family.

Key wordsAndroid; wireless router; video monitoring; pan-tilt-zoom control

 

 

视频监控早在许多年前就已经广泛用于各种场合或领域,例如银行视频监控,交通道路视频监控,企业工厂视频监控,社会公共安全监控等,但由于当时的视频技术及网络环境等因素,许多监控场合都是采用了普通模拟视频监控系统[1]。传统的视频监控系统存在着许多缺点,比如无法进行拓展、功能简单、画质不清晰、只能在固定地点进行查看、无法进行移动监控等[2]。针对上述情况,采用基于Android的新一代移动视频监控技术,不但可以广泛地应用于各个领域的移动终端设备上,而且能够满足当前视频监控的诸多要求。

 

1 系统总体架构

本文中的无线视频监控系统是采用客户端-服务器的方式实现的。该系统由视频采集端,无线路由器以及监控客户端等构成。通过对摄像头采集后的数据进行编码压缩,再由无线路由器通过Internet进行数据包转发, Android客户端则采用HTTP协议访问无线路由器,在接收视频流信息后进行解码显示,实现画面预览实时监控的功能。作为用户方,则通过客户端以Socket的方式发送对视频监控设备的控制指令,实现前端监控点的可操可控,提高视频监控灵活性。整个系统的框架如图1所示。


图1 无线视频监控系统

2 关键模块设计与处理流程

通过对系统整体架构的分析,本系统的实现目标主要表现在以下三个方面:

1) 连接界面:设置视频地址、摄像头控制地址和端口号。

2) 远程视频监控:Android客户端向远程视频监控服务器发送开始监控请求,并接收由无线路由器发送回来的数据,将摄像头采集的图像显示在屏幕上。同时要求时延少,图像清晰可靠。

3) 云台控制:Android客户端可以根据监控的需要旋转摄像头,来调整不同的监控角度,使得监控范围提高,一般控制摄像头上下左右旋转。

2.1 连接界面模块

由于客户端读取显示摄像头的视频采用的是http协议,因此要设置两个EditView来输入http地址和它所用的端口号。同时也要设置两个EditView来输入控制摄像头旋转的IP地址和端口号,以便能顺利和无线路由器连接,如图2所示。

 

图2 登录界面

2.2 视频读取模块

由于使用的无线路由器安装了基于LinuxOpenWrt操作系统,无线路由器就相当于一个视频服务器,然后将Linux下的摄像头驱动安装到路由器上,驱动程序里面包括了一个mjpg-streamer视频服务软件。这个软件的程序功能可以分为三个部分:

1)    结构体封装:采集图片参数信息,包括图片比例和格式等;

2)    将此封装的结构体写入驱动程序中,对摄像头的默认初始信息进行设置,并映射内存空间;

3)    读取图片数据并写入文件中,监控视频则由一段连续的图片序列构成。

Android客户端软件完成的功能主要是将从无线路由器发送出来的视频数据读取并显示在屏幕上。考虑到采用http协议读取摄像头数据时,视频数据量较大且读取耗内存,通过Android客户端向路由器请求一个snapshot,并用线程进行不停更新的方法,可有效解决这个问题,使其具有连续视频画面的效果。具体的处理流程如下:

第一步:与无线路由器建立连接。

第二步:从网络获取图片,数据为InputStream流对象,调用BitmapFactorydecodeStream()方法解码获取图片。

第三步:由于从上述方法解码得到的位图大小、宽度和高度可能不符合要求,为了能自适应于不同硬件平台的屏幕分辨率,需要重新对获得的位图进行缩放。利用createBitmap(Bitmap source, int width, int height, boolean filter)方法,可以获得新的位图,使视频显示填充整个屏幕。

第四步:得到基本的位图后,需要将其映射到画布上。Android提供了Canvas类,它主要实现了屏幕的绘制过程。

第五步:自定义控件MySurfaceView用于显示视频。自定义ViewSurfaceView都可以实现自己想要的视图,但是View必须在UI的主线程中被动更新画面,选用SurfaceView作为控件的显示方式,在新启动的线程中重新绘制画面,主动更新画面,保证了视频画面的实时性。布局文件中对自定义控件MySurfaceView的引用代码如下:

 SHAPE  \* MERGEFORMAT

    <wifi.video.MySurfaceView

            android:id="@+id/view3D" 

            android:layout_width="fill_parent" 

            android:layout_height="fill_parent"/>

文本框:     <wifi.video.MySurfaceView 
            android:id="@+id/view3D"  
            android:layout_width="fill_parent"  
            android:layout_height="fill_parent"/>

2.3 云台控制模块

Android客户端通过Wi-Fi网络向无线路由器发送控制命令,通过路由器上的串口线转发到单片机云台上并对控制命令进行解析,进而控制摄像头转动。云台控制模块主要采用Socket通信,Socket使用数据包传送指令,有一个固定的协议,只有接收到固定格式的数据包后,才对其中的命令位进行解析,再执行动作指令。协议格式如表1所示。

1 控制命令传输协议

帧头

类型位

数据位

结束位

功能

0xFF

0xFF

0xFF

0xFF

0xFF

0xFF

0x00

0x00

0x00

0x00

0x01

0x01

0x02

0x01

0x03

0x04

0x01

0x01

0xFF

0xFF

0xFF

0xFF

0xFF

0xFF

向上转

向下转

向左转

向右转

继电器开

继电器关

   

视频监控软件的具体流程图如图3所示:

 

         图3 视频监控工作流程

3 实验测试

3.1 读取视频

在测试时,Android客户端的登录IP地址设置为电脑的IP地址,实现与路由器的连接通信。在Android客户端将路由器上读取的视频进行解码后,根据屏幕的宽度和高度重新绘制位图,使其与屏幕相匹配,这样可以有效地避免视频无法显示或者放大的问题,且增加监控的范围。核心代码如下:

 

DisplayMetrics dm = getResources().getDisplayMetrics();

mScreenWidth = dm.widthPixels;

mScreenHeight = dm.heightPixels;     

 

 

 

 

 

 


通过隐藏System UI,可以设置为全屏监控画面模式,同时将摄像头控制的Button设置为FrameLayout布局。在模拟器中进行测试,如图4所示视频读取正常显示,在全屏画面时点击屏幕即弹出摄像头的控制菜单。

 

    

                          图4-a 视频监控全屏画面                              4-b 视频监控弹出菜单选项

4 视频监控画面

3.2 数据传输及摄像头远程控制

对于云台控制模块,关键在于Android客户端向路由器发送数据包。将串口助手的监听打开,并且把IP地址和端口设置为Android端的控制地址和端口,从串口就可以接收到客户端发送来的控制指令。串口不仅可以收到十六进制格式的数据,也可以收到字符。

路由器通过Ser2net软件转发由Android客户端接收的数据,并通过路由器的串口线发送出去。实验过程中,需要设置串口波特率与单片机接收时的波特率使其相一致,云台控制端才可以正确接收数据。如图5所示为串口接收十六进制格式的控制命令,如图6所示为摄像头接收到控制指令0xFF 0x00 0x04 0xFF后向右进行转动。

 

5 串口调试助手的接收

 

 

     

6-a 摄像头初始位置                     6-b 摄像头转动后位置

6 摄像头转动测试

 

由以上实验结果得出,本文所设计的基于Android的无线视频监控系统可通过无线路由器对采集视频数据进行读取转发,实现视频服务器的功能,并且支持通过云台模块对摄像头的远程控制,具备远程地点监控、可控性强、稳定性高的特点,扩大了选取监控点的灵活性,使移动视频监控变得更加简单和高效。

4 小结

针对视频监控在各种场合和领域的应用,满足用户对监控点的灵活选择和监控实时性的需求,本文将Android客户端与视频服务端相结合,通过移动智能终端与无线路由器建立通信,并在无线路由器上解析采集的视频数据,实现了无线监控动态画面的功能。云台控制模块则根据预定义的指令类型来响应摄像头控制,驱动摄像头进行旋转。基于Android的无线视频监控系统的实现,不仅改变了传统的模拟监控模式,提高了视频监控的易用性和可靠性,而且为企业和家庭带来了更高效的保障,具有实际的指导意义。

 

 

参考文献:

[1] 王宁国, 吴翠先, 刘畅棂, 等. 基于 Android 的无线视频监控终端的设计及实现[J]. 数字技术与应用, 2012 (12): 124-125.

[2] 凡威, 周渊平. 基于 Android 平台的无线视频监控[J]. 计算机系统应用, 2015, 24(1): 195-198.

[3] 曹晓芳, 王超, 李杰. 一种基于 Android 智能手机的远程视频监控的设计[J]. 电子器件, 2011, 34(6): 709-712.

[4] 朱光辉. 基于 3G 的移动视频监控系统的设计与实现[D]. 东北大学, 2011.

[5] 王宁国, 吴翠先, 刘畅棂, 等. 基于 Android 的无线视频监控终端的设计及实现[J]. 数字技术与应用, 2012 (12): 124-125.

 

作者简介:

叶楠(1990-),女,助教,硕士,研究方向为电子信息。

 



[1]福建省2014年福建省教育厅B类科技项目(JB14230)

本刊创刊于1982年,是由自治区科技厅主管、自治区科技信息研究院主办,由自治区科技情报学会协办、国内外公开发行的省级综合性科技刊物,是反映内蒙古自治区科技与经济发展的窗口。杂志入选《中国期刊全文数据(CJFD)》全文收录期刊和《中国学术期刊综合评价数据(CAJCED)统计刊源期刊,《中国核心期刊(遴选)数据库》收录。本刊是公开发行的综合性科技期刊,为月刊,大16开本。本刊坚持以科技创新为目标,融科技、经济、信息、产业、市场为一体,是促进科技成果转化、推动科技进步、加强技术创新,促进经济发展的专业性期刊。