HI,欢迎来到学术天下网

基于Android的流媒体播放器的设计与实现

分享到:
  • 论文详细
作者:
曹威
导师:
李瑜,陈寅寅
学科专业:
软件工程 
文献出处:
哈尔滨工业大学 2014年
关键词:
交互式网络电视论文  流媒体论文  实时流传输协议论文  高清传输流论文  多屏互动论文  

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

摘要

Abstract

第1章 绪论

1.1 课题来源及研究意义

1.2 与本课题相关的国内外研究综述

1.2.1 IPTV 的发展概况

1.2.2 流媒体的发展概况

1.2.3 多屏互动的发展现状

1.3 本文的主要研究内容

1.4 本文组织结构

第2章 系统关键技术分析

2.1 流媒体技术

2.2 流媒体技术相关协议

2.2.1 电视直播组播技术

2.2.2 点播实时传输流协议 RTSP

2.2.3 高清视频封装格式 TS

2.3 多屏互动技术

2.3.1 零配置网络技术

2.3.2 逆向 HTTP 技术

2.3.3 Airplay 协议

2.4 本章小结

第3章 流媒体播放器需求分析与总体设计

3.1 功能性需求

3.1.1 电视直播需求分析

3.1.2 视频点播需求分析

3.1.3 多屏互动需求分析

3.1.4 系统功能模块划分

3.2 非功能性需求

3.2.1 性能需求

3.2.2 播放器兼容性

3.3 播放器系统结构

3.4 播放器的架构设计

3.5 本章小结

第4章 流媒体播放器的详细设计及实现

4.1 流媒体播放器类

4.1.1 流媒体播放器类设计

4.1.2 流媒体播放器状态机设计

4.2 电视直播的设计与实现

4.2.1 直播流程设计

4.2.2 频道搜索

4.2.3 模拟电视直播子模块

4.2.4 数字电视直播子模块

4.2.5 网络流媒体直播子模块

4.3 视频点播的设计与实现

4.3.1 点播流程设计与实现

4.3.2 RTSP 交互

4.3.3 单播流数据接收

4.4 多屏互动的设计

4.4.1 Airplay 流程设计

4.4.2 Airplay 请求格式设计

4.4.3 Airplay 服务的注册和发布

4.4.4 图片交互设计

4.4.5 幻灯片播放设计

4.4.6 视频播放设计

4.5 播放器代码优化设计

4.5.1 内存优化策略

4.5.2 相应速度优化策略

4.6 本章小结

第5章 流媒体播放器的测试和分析

5.1 测试工具和环境

5.1.1 测试工具

5.1.2 测试环境

5.2 功能测试

5.3 性能测试

5.3.1 内存占用测试

5.3.2 播放响应时间测试

5.4 性能优化后测试

5.4.1 内存优化

5.4.2 响应时间优化

5.5 运行截图

5.6 本章小结

结论

参考文献

致谢

个人简历