论文部分内容阅读
随着3G和移动互联网时代的到来,移动流媒体业务日益受到人们的青睐。在流媒体技术的支持下,手机用户可以随时随地的视听流媒体数据。正是基于上述背景,本文设计与实现了基于智能手机平台的流媒体客户端,最终目标是使手机终端可以通过移动3G无线网络与媒体服务器进行通信,实时接收并播放流媒体数据。围绕这个核心目标,本文主要进行了以下几项工作:1)介绍了流媒体技术的应用现状和发展趋势,分析了智能手机的发展背景,并通过对市场主流智能手机操作系统的比较,确定使用Windows Mobile操作系统作为本文的开发平台。阐述了Windows Mobile操作系统的概况,并对流媒体的关键技术进行了讨论。2)针对智能手机设备的局限性,同时充分考虑无线网络的特性,基于客户端/服务器架构提出了移动流媒体系统解决方案,其中重点是阐述客户端功能模块的划分及具体实现。根据对项目需求的分析,客户端软件划分为用户界面模块、会话控制模块、数据传输模块、数据存储模块和音视频解码播放模块五个部分。3)用户界面模块实现了简单的播放器用户交互界面;会话控制模块移植重构了一套私有的会话控制协议,使得客户端可以与服务器进行通信;数据传输模块针对点播和直播两种不同模式,提出了两种数据传输机制;数据存储模块提出了一种高效的内存缓冲区操作算法;音视频解码播放模块移植了第三方开源库FFmpeg和SDL到Windows Mobile平台,并依据它们的多媒体框架实现了客户端的音视频解码播放引擎。4)针对流媒体客户端播放中存在的问题和不足,分别对客户端的丢包重传策略、音视频同步算法、音视频解码程序和内存缓冲区控制算法进行了优化。基于上述工作,在Windows Mobile 6.0平台上,中国移动TD-SCDMA网络环境中,对客户端进行了功能和性能测试,成功实现了手机流媒体播放的基本功能,具有较好的流畅度及用户体验。