随着移动通信技术和多媒体技术的迅速发展,融合手机、网络、多媒体技术为一体的视频监控技术也有了长足的进步,通过移动通信网络提供流媒体服务已经成为可能。全球移动用户数非常庞大,因此移动流媒体服务具有巨大的市场潜力,也正成为移动业务的研究热点之一。在这一背景下,针对移动网络和移动终端的特点,提出移动流媒体客户端的解决方案很有现实意义。
本论文结合FFmpeg开源代码中解码流程,提出了移动终端流媒体播放器基于分层体系架构的设计方案。该设计的特点是在底层屏蔽不同类型文件解码时对媒体流处理的差异,并且提供了对外部摄像头设备的控制功能。
本论文首先介绍了开发面向实时监控业务的流媒体播放器项目的必要性,在分析了各种手机开发平台和流媒体网络传输协议的基础上,选定具有开放性、易用性和廉价性等特点的Android手机平台作为本论文播放器的目标平台,实现基于RTSP、RTP/RTCP协议的流媒体播放功能。本文根据Android平台和FFmpeg开源代码结构的特点,提出FFmpeg快速修剪方法及优化策略,并将优化后代码移植到Android平台上,作为播放器文件解封装库及解码库。为保证播放流媒体文件的流畅性,本文提出了拥塞控制、缓冲策略和拼帧策略三种方法相结合的QoS保证方法,使得该播放器的内存利用率、播放抖动等性能均有很大的提高。
本论文的成果在于:基于Android平台、采用Java语言实现一个支持流媒体播放的并完全面向实时监控的播放器。该播放器不但能够高性能地完成本地文件以及流媒体文件的播放,还为用户提供对外部摄像头的控制功能,并且使用多种策略以达到播放器QoS保证,为视频监控技术走向小型企业及家庭打下了基础。