论文部分内容阅读
近年来,随着智能手机行业的Android的成功应用,为基于Android平台的嵌入式系统的发展,特别是在非手机的应用开发格外的吸引人,基于Android系统的交互式网络电视也在市场需求推动下应运而生。面向手机设计的Android操作系统无法支持交互式网络电视业务在流媒体直播,点播,播放控制,媒体封装和多屏互动等方面的要求。因此,在充分考虑当前业务需求的情况下,交互式网络电视项目组提出了基于Android的流媒体播放器的需求。论文以当前流媒体技术的发展为基础,软件复用技术为背景,分析了当前Android平台的发展趋势和拓展支持的现状,以及网络多媒体中应用到的主要流媒体技术,总结出目前交互式网络电视系统中对于流媒体播放器的要求。在不改变原有Android操心系统架构和不与原生播放器发出冲突的情况下,在系统软件各层定义所需的拓展功能及相应接口,实现对新增业务功能的支持。弥补了现有Android播放器不能兼容各种协议的缺点和播放质量差的不足。本文主要研究了流媒体技术的两个领域:流媒体的实时传输和音频视频的分析。在这个基础上,在系统软件各层定义所需的拓展功能及相应接口,实现对新增业务功能的支持。本文使用Java和C语言来开发流媒体播放器,根据系统设计的要求,提出了系统的总体框架,将系统的实现分为界面展示,信息控制,音视频数据接收和音视频数据解析四个部分。界面展示包括用户和播放器之间的交互,用户向播放器发出操作命令,界面向用户反馈实时的信息。信息控制处理应用播放器内部的信息传递,根据信息行为负责调度。音视频数据接收负责接收用户请求的服务器的多媒体数据,通过实时流传输协议RTSP和底层的UDP协议以及TCP协议完成操作,将收到的数据临时写入接收缓冲区。音视频数据解析负责解析接收缓冲区的高清传输流TS数据,再送到音视频解码模块进行解码中。经过后期的测试和实际应用,证明本系统实现了对Android原生播放器的拓展,完成了基于Android的流媒体播放器。支持流媒体组播和单播,支持HLS解析和码率切换,支持支持RSTP协议交互,支持TS格式解析,支持Airplay交互,支持Zero-Configuration,支持多屏图片和视频互动。满足IPTV的电视直播,视频点播和多屏互动的功能要求,满足播放质量的性能要求。