论文部分内容阅读
随着科学技术和经济的快速发展,人们生活水平不断地提高,人们开始追求更加舒适、便捷、安全的生活,智能家居的出现满足了人们的这种要求,视频监控技术作为智能家居的核心技术之一,它的应用使人们的人身和财产安全得到了更好的保证。但是传统的监控系统始终存在着不灵活、低效率、维护成本高等问题,无法很好地应用到大众化的智能家居产品中。因此,市场急需一种灵活性强、性能稳定、维护成本低、能主动分析并预警的视频监控系统,智能化的视频监控系统是视频监控系统未来发展的一个趋势,从市场的需求情况来看,智能化的视频监控系统逐渐引起越来越多的关注,需求量持续上升。从技术角度来看,智能化的视频监控将向着适应更为复杂多变的场景、分析和识别更多异常行为的方向发展。智能视频监控技术是一种具有前瞻性的科研领域,不仅蕴含着巨大的科研价值也包含着巨大的商业价值。在智能移动终端方面,Google开发的Android平台极大地推动了智能移动终端的发展,由于它的源码具有开放性,对基于智能手机的智能视频监控系统的普及带来了契机。目前,在智能移动终端市场中,Android系统具有很大的市场占有率,在人们的生活中也占有了重要地位。因此,设计与开发一款基于Android平台的智能视频监控系统具有现实意义与实用价值。本论文的主要内容包括基于Android的智能视频监控系统的总体规划和设计,系统软件的设计与实现,以及在不同网络应用环境下对系统进行测试。系统采用C/S设计模式,将系统分为服务器和客户端两个部分。服务器软件开发和调试使用Visual Studio 2012软件,客户端软件则是使用软件Eclipse开发并使用Android虚拟机调试。服务器端主要实现视频采集、视频编码、流媒体传输、智能处理和网络传输,将服务器软件进行模块化的设计,视频采集模块使用OpenCV开源库的摄像头接口函数,通过摄像头编号打开摄像头获取码流;视频编码模块实现H.264编码,使用X.264开源库中H.264编码器将YUV颜色空间视频源进行编码;流媒体传输模块完成对经过H.264编码的码流进行RTP/RTCP协议封包和发送;智能处理模块是利用OpenCV开源库函数设计和实现目标检测;最后网络传输模块则是进行socket编程实现与客户端基于UDP的socket通信。客户端软件同样对每个模块进行设计与实现,客户端主要分为UI界面模块、视频接收模块、视频解码模块、视频播放模块和网络传输模块。UI界面模块使用Android SDK提供的多样的组件进行设计,完成界面展示以及实现与用户交互;视频接收模块则是使用c语言编写RTP包的解析和拆包程序,再使用JNI技术在JAVA程序中调用该程序实现视频的接收;视频解码模块则是利用Android NDK在Android系统中移植FFmpeg开源库实现H.264解码;视频播放模块使用Android SDK的surfaceview组件,将Canvas画布锁定到surfaceview组件上并在画布上一帧帧地绘制图像实现视频播放;网络传输模块使用socket网络编程实现与服务器端的socket通信。最后对服务器软件和客户端软件进行联合调试和测试,测试的网络应用环境利用了校园网WiFi和实验室环境下的4G(TD-LTE)网络,测试结果表明在以上网络环境下,系统的功能和性能达到了预期的设计。通过以上工作,成功实现了基于Android平台的智能视频监控系统的开发,经过测试系统运行稳定,画面清晰,延时在控制范围内。该系统摆脱了传统视频监控需要人员值守的限制,全天24小时智能监控,当发现可疑目标及时通知用户查看视频监控。未发现入侵的情况下视频数据不进行存储,因此极大地降低了视频存储的压力,用户不需要支付额外的劳动成本和视频存储空间成本。本设计实现的基于Android的智能视频监控系统具有网络适应性强,安装维护成本低,系统运行稳定的特点,能够为智能家居中智能视频监控的应用提供一个设计思路和解决方案。