| 资料库

请登录

注册

基于云计算的移动视频报警系统研究

2014-10-07 15:20:25 大云网
A A
摘 要:随着视频解码与通信技术的不断发展,利用智能手机进行实时查看摄像头的信息成为了可能。本设计是一套基于云计算的移动视频报警系统,可以很好的起到安防的效果。该设计介绍了该系统的硬件平台和体系结构
摘 要:随着视频解码与通信技术的不断发展,利用智能手机进行实时查看摄像头的信息成为了可能。本设计是一套基于云计算的移动视频报警系统,可以很好的起到安防的效果。该设计介绍了该系统的硬件平台和体系结构,重点论述了设计中所需要的关键技术,并且系统地研究了如何构造一个海量的云存储服务器平台,实现对手持终端上的视频流的云存储与实时监控,最后经过测试,验证了设计的有效性。
关键词:移动视频监控 安防 无线网络 云计算 报警

视频监控一直以来都在我们的生活中起着关键的作用,以前主要应用于安防和交通方面,而今天无论在教育、医疗、政府、酒店、公司等各个领域都在应用。智能手机、视频编码和无线网络等技术的不断发展,使传统网络视频监控系统已经不能满足人们的需要,移动视频监控系统正在不断的深入到我们生活中。随着视频编码AndroidH.264流媒体与通信技术的飞速发展,嵌入式智能终端对于多媒体处理能力的提高以及人们对安全的需求不断增强,为视频监控业务在移动智能终端的应用提供了广阔的前景。此项目是开发了一个通过基于Android的客户端的视频监控移动终端的软件,可以很好的起到安防家居的效果,利用手机实现移动视频监控,其优势非常明显,主要表现在以下几个方面。
其一,网络健全,覆盖面广。目前,中国移动的GPRS网络、中国联通的CDMA网络、中国电信的ADSL覆盖范围已经非常广,几乎无处不在,使用手机监控,几乎不受区域限制。
其二,使用成本低。由于目前移动数据业务量不大,移动运营商为了鼓励使用数据业务,采用了很多优惠措施。在移动数据兴起以后,移动数据业务的费用会大幅度降低。
其三,及时有效。由于手机视频监控,是实时监看,同手机短信、手机彩信等及时通讯结合起来,更加及时方便。
其四,报警确认。目前,误报警的比例非常高,同时要花费大量的人力和财力,利用手机即时通讯的功能和手机视频监控,可以很方便地解决报警确认问题。

1 系统设计

系统总框图如下所示:


图1 系统框图
该系统包含三个部分,物联网硬件部分、云服务器部分、手机客户端。其中,物联网硬件部分完成视频采集,以及红外、烟感技术信息的采集;云服务器完成用户管理,它是手机和物联网之间的纽带;手机客户端用户查看。

1.1 物联网硬件部分

摄像头:当进入报警设备配置界面,手机APP将展示设备列表,设备列表事实上分两级,一级是摄像头列表,第二级是摄像头管控的所有报警设备列表。手机APP在进入某级列表后主动向服务器发送查询请求,服务器会将最新配置的一定数量的摄像头发给手机App,在服务器所连接的数据库中,服务器按如下方式存储摄像头列表:DVR_CID|UID|DVR_PID|PWD1|PWD2|
含义是:DVR_CID:摄像头配置CID-Not NULL unique auto_increment,不同于DVR_ID,DVR_ID是DVR连上服务器后生成的唯一标识该设备的ID
UID:用户注册的ID
DVR_PID:摄像头用户名(出厂设备号/识别码)
PWD1:摄像头机器密码
PWD2:摄像头访问密码
红外线传感设备、烟雾传感设备:两种设备的引用克服了以往传统监控的缺陷。此设计利用两种设备进行视频报警,当家里出现陌生人时红外线可以感知,并且迅速报警给摄像头,摄像头通过服务器可以传送到手机告知用户,此时用户通过手机可以实时查看家里的摄像头,可以起到安防的效果。烟雾报警设备主要是指当家里发生火灾时,可以迅速通过它然后报警给摄像头,摄像头通过服务器端传送到手机。

1.2 云服务器部分

云服务器框图如下所示:

 

图2 云服务器图
云服务器各个模块的工作流程包括数据采集模块、数据接收模块以及视频存储与转发模块。云服务器起到客户端与手机终端传输的纽带作用,当用户登录系统时需要输入用户名和密码(此时已经注册好用户名和密码),注册时采用的是TCP协议,此时由客户端软件将用户信息发送到服务器进行验证,验证过后,服务器也将给客户端回复一个确认,如果输入正确,则打开系统,否则关闭系统。进入系统之后,用户可以选择网络摄像机,接下来向服务器发送视频请求。当客户端发送视频请求之后,服务器会向客户端开始发送视频数据。监控过程中,Android移动终端可以设置不同的通道进行相互切换,当用户需要关闭视频传输时,应该首先向服务器发送请求,然后关闭客户端视频播放线程,最后退出程序。

1.3 手机客户端

登录系统:进入系统后进入用户登录界面,点击“注册”跳转到“用户协议”页面。在登录页面中,分为公共部分操作栏和主要功能展示区,里面的每个输入框都需要注释输入格式,在用户输入完成需要注册的用户名后,需要标识当前用户名是否可以被用户名注册。采用了手势密码的设置,对于手势密码的好处是防止其他人拿到手机之后想要玩这个安防软件,结果导致家里的隐私曝光。
安防系统:当进入安防功能界面之后,里面含有实时视频按钮、告警历史按钮集和设备管理按钮,当点击【实时视频】图标之后,系统进入已经添加的摄像头列表,并且可以进行实时视频的查看。其通过实时传输协议(RTP)将压缩后的监控视频数据发送给移动控制终端。
离线设置:对于用户想要进行离线设置,则只需要点击主页面的【离线】图标,进入离线设备list页面。当用户在历史记录中点击图片按钮,手机查看本地是否已经有该图片,否则APP发送信息到服务器请求传送图片。
二维码直接扫描:添加或者删除报警设备、添加或者删除开关、添加或者删除防丢设备都可以采用二维码直接扫描的方式,方便、便捷并且有效。

2 关键技术

由于具有报警和实时监控,主要关键技术包含三部分:云计算技术、手机客户端消息分发技术、网络穿透功能技术。

2.1 云计算技术

如图3所示,NIST将云计算定义为用户可以方便地、按需通过网络访问共享资源池(网络、服务器、存储、应用和服务等),并且具有快速部署、最小的管理代价或最少的服务提供商干预的一种新型IT基础运营模式。云计算技术是在服务器、存储器和网络设备等硬件的基础上运用并行编程、数据管理、分布式存储、虚拟化技术来实现的。
    
           图3 云计算结构图                                                   图4 MapReduce 模型
并行编程:本系统采用的是Google开发的MapReduce并行编程模型,该模型的核心思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,如图4所示,假设有M个Map操作和R个Reduce操作,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。使用MapReduce开发并行处理程序时,需要编写两个函数:
(1)Map:(in_key,in_value)?{(keyj,valuej)|j=1…k};其中输入参数in_key和in_value表示Map需要处理的原始数据,(keyj,valuej)是输出结果对,是经过Map操作后产生的中间结果。
(2)Reduce:(key,[value1,…,valuem])?(key,final_value);其中(key,[value1,…,valuem])是Reduce的输入参数,Reduce将输入参数中相同的Key对应的Reduce进行归并处理,最终形成(key,final_value)的结果。
分布存储:云计算系统采用分布式存储数据,使用冗余存储的方式保证数据的可靠性,本系统采用的是Google的GFS(Google File System)文件系统,该系统可以运行于普通的硬件上,为大量的用户提供高性能的服务。
数据管理方面:本系统采用的是Google的BT(BigTable)数据管理技术,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。
虚拟化技术将软件应用与底层硬件相隔离,该技术可以将单个资源划分成多个虚拟资源的裂分模式,也可以将多个资源整合成一个虚拟资源的聚合模式。

2.2 手机客户端消息分发技术

视频数据的接收和解码都是复杂、持续的过程,如果其中一个过程出现阻塞会影响整个程序的运行。因此,客户端使用多线程实现数据接收和视频解码的并行处理。在整个程序运行过程中,主线程响应用户操作,负责屏幕刷新工作,并创建两个子线程:数据接收和视频解码子线程。
在Java中,多线程的实现有两种方式:扩展java.lang.Thread类或实现java.lang.Runnable接口。这里通过继承Thread类并覆写run()方法实现两个子线程。在多线程的应用中关键是处理好线程之间的同步问题,以解决对共享存储区的访问冲突,避免引起线程甚至整个系统的死锁。Java多线程主要利用synchronized关键字和wait()、notify()等方法实现线程间的同步。

2.3 网络穿透功能

整个系统由服务器云、设备端程序和客户端SDK组成,如图5:

图5 网络穿透方案图
由于手机和摄像头的IP地址有可能相同也有可能不同,手机又是移动设备,摄像头是固定设备,随着手机的移动,IP地址也很有可能在不断的变化,要想实现手机可以随时随地进行实时监控,就必须采用网络穿透技术来解决这个问题。由于T2U方案可以解决TCP NAT穿透的问题,所以可以采用此方案。
Libt2u是一个实现TCP穿越网关并与远端设备建立P2P连接的开发库,它可以在不修改原有通信协议的基础上,帮助终端实现客户端与设备的P2P直连,可以让设备达到即插即用的效果。
T2uSvr和Libt2u作为2个代理,分别运行在设备端和客户端,两个代理之间通过P2P NA技术建立连接,依靠自主研发的UDP可靠数据传输和拥塞控制算法进行数据通信,再加上端口转发技术,实现了将远端设备的任意端口映射到客户机本地。于是在不知道设备IP地址,也没有在路由器上做端口映射的情况下,通过TCP连接本地端口达到连接设备的目的。
 

 

3 系统测试及结果分析

目前,该系统已在实验室进行测试,服务器输出的是H.264视频数据,客户端安装在Android手机上,通过WIFI接入无线局域网中与服务器建立连接,实时监控、报警系统等测试结果如下图所示:
                       
           图6 报警信息记录      
大云网官方微信售电那点事儿
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞

相关新闻