基于Android实时视频监控客户端设计与实现
随着网络技术和智能终端技术的飞速发展,移动智能终端用户数量逐年增加,人们开始基于智能终端完成更多的事务,移动智能终端的视频监控逐渐进入人们的视野。传统的视频监控已经在平安城市建设、电力水利观测、森林防火监控、工厂自动化生产等方面得到了广泛应用。目前,人们更加倾向视频监控的方便灵活性,传统基于 PC端观看监控视频已经无法满足用户的需求,这种背景下,本文提出基于 Android实时视频监控客户端的设计与实现,实现随时随地的查看监控视频。该方案的提出具有非常好的现实意义,并且能够产生一定的商业价值。 课题基于 FFmpeg提出分层设计方案,将客户端的结构分为三层,它们分别为数据接收层、数据解码层、UI显示层。数据接收层通过与远程服务器建立连接,移动终端设备接收服务器传递的RTP数据包;数据解码层调用FFmpeg解码库,实现对接收 RTP数据包解码;UI显示层调用SDL完成解码数据包组帧和图像的绘制。Android自带的媒体库 opencore支持播放视频格式少,只能支持播放3 gp和 mp4格式的视频,FFmpeg实现了对 Android多媒体库 opencore解码库拓展,使其支持更多的视频格式。 本论文对视频监控终端相关技术进行了分析,分析了 RTSP、RTP、RTCP等相关流媒体协议,阐述了主流的视频编码技术 H.26编码标准;通过对比各种终端操作系统选择开放性好,用户基数大的Android平台作为开发平台;由于FFmpeg是针对 PC机开发的开源多媒体解决方案,并且代码实现基于 C语言。针对 Android移动终端设备内存小,应用程序上层采用java实现等特点,本文采用Android NDK实现对 FFmpeg裁剪和移植。本课题详细叙述 java代码调用c代码的JNI机制,分析了 JNI如何调用经过编译 FFmpeg生成的动态库,完成压缩数据包的解码。搭建 UI界面过程,阐述如何采用SDL完成绘图表面创建过程,以及如何通过布局文件美化界面。视频监控客户端开发完成后对其实用性进行测试,分别测试监控视频和本地视频播放效果,测试结果显示该软件能够正常完成监控视频和本地视频播放。
Android平台;视频监控;客户端;分层设计;压缩解码
宁波大学
硕士
电子与通信工程
何加铭
2014
中文
TP277
85
2015-08-17(万方平台首次上网日期,不代表论文的发表时间)