论文部分内容阅读
随着科技的发展和人们生活水平的提高,视频监控系统在越来越多的场合得到应用,视频监控系统向着网络化,智能化,高清化的方向发展。近年来,移动通讯网络的发展和Android系统智能手机的普及使得移动视频监控成为一个重要的研究方向。本文在原有网络视频监控系统的基础上,基于Android系统的智能手机完成了一个移动视频监控系统的设计和实现。移动视频监控系统基于C/S架构设计,由Android手机视频采集终端,Android手机视频查看客户端和平台服务器三个模块组成。手机视频采集终端负责通过摄像头和麦克风采集音频和视频信息,编码成为H.264格式的视频数据和G.726格式的音频数据,通过无线网络上传到服务器;手机视频查看客户端向服务器请求终端的音视频数据,解码并播放出来;服务器是客户端和终端之间沟通的中介,负责终端与客户端之间的数据转发。本文基于UDP通讯协议设计了音视频的传输协议,并利用Android NDK技术将现有的音视频开源编解码解决方案FFmpeg和X.264移植到Android环境。Android手机视频采集终端利用X.264编码库和Android多媒体API MediaRecoder分别实现了视频的软编码和硬编码两种编码方式。软编码更灵活但占用CPU资源,效率低;硬编码利用手机硬件编码,效率高但是在编码格式等方面灵活性差,可移植性不高。为保证系统实时性,本文采用了硬编码方式。此外软件还实现了音频的采集播放和编解码,照片拍摄和上传以及GPS定位功能。Android手机视频查看客户端在接收到视频数据以后,利用帧号和帧包号重组成视频帧,接着通过移植的FFmpeg解码库实现视频的解码和图像格式转换,最后显示在屏幕上。客户端软件还实现了针对原网络视频监控系统固定终端摄像头的远程控制功能,设计并实现了利用三维立体球坐标系表示摄像头云台偏转位置的立体云台坐标,更加直观地控制摄像头姿态调整。接着,本文在分析了服务器与终端,服务器与客户端之间的数据流图的基础上,给出了服务器软件的设计。服务器转发的数据有直接转发和缓存转发两种类型,本文对此设计了不同的数据转发机制。最后,文章总结了课题的工作,并对系统的改进提出了展望。