摘要
摘要
当前社会逐渐步入了移动互联网时代,随着无线通信技术的高速发展和移动设备性
能的不断提升,传统的PC 端视频监控正在向移动端迁移。目前市场中的移动视频监控
系统普遍功能比较单调,只具有视频播放相关功能,应用界面也不够友好,无法满足用
户多元化的需求。针对这种局限性,本文在视频监控的基础上集成了地图服务、实时物
联以及报警等功能,不仅给用户提供了更加丰富便捷的功能,而且对于紧急事件处理等
情况也具有一定的优势。
本文设计并实现了一套完整的移动视频监控系统,利用 Spring MVC 框架搭建了
Web 服务器,并通过MQTT 协议将消息实时地推送给移动客户端。客户端基于Android
平台开发,主要包括视频监控、报警消息、实时物联、电子地图、用户登录和个人设置
等功能,核心模块如下:
(1) 视频监控模块中,用户可以进行摄像机的实时预览、录像回放以及云台控制。本
文采用了一种多线程播放模型,通过环形帧缓冲区来缓解网络抖动对视频播放造成的不
良影响。在视频解码方面,默认使用MediaCodec 进行硬件解码,对于硬件解码异常的
设备,则调用FFmpeg 媒体库进行软件解码,兼顾了解码性能与适用范围。
(2) 报警消息模块用于查询和接收传感器产生的报警信息,实时物联模块展示了传
感器的实时数据,这两个模块通过创建的服务组件与消息服务器进行实时通信,对于新
的报警消息会产生一条通知栏信息,并由自定义广播接收器处理点击通知的事件。
(3) 电子地图是一个公共模块,用于将摄像机与传感器显示在地图中,使得用户能
够快速辨别各个设备,同时提供了导航功能,能够辅助用户快速到达事件发生地点。
在实现上述功能的基础上,本文从两个角度对客户端进行了优化。首先设计了摄像
机缩略图片的二级缓存机制,将远程获取到的图片分别缓存到内存与外部存储中,通过
测试验证了二级缓存能够明显提升缩略图的加载速度。其次针对部分 Fragment 的加载
方式进行优化,达到按需加载的目的,能够提高客户端性能并减轻服务器端的压力。
最终本文对客户端分别进行了功能测试、性能测试以及兼容性测试,测试结果表明
系统各模块功能运行正常,并且具有一定的健壮性和兼容性,能够满足实际使用的要求。
关键词: 视频监控、Android 、MQTT 、帧缓冲区、FFmpeg
I
ABSTRACT
ABSTRACT
The contemporary society has gradually entered the era of mobile Internet. With the rapid
development of wireless communication technology and improvement of the performance of
mobile devices, traditional PC based video surveillance systems are moving to the mobile
platform. The functions of mobile video surveillance systems in the present market are
comparatively simple, for many applications can only play video without user friendly interface.
To meet the user's diverse requirements, map services and IoTs are integrated into video
surveillance in this thesis, which can provide more convenient functions and as