块 30
4.5.2 播放列表管理子模块 30
4.5.3 音/视频搜索子模块 31
4.6 数据库设计 32
4.6.1 数据库E-R关系 32
4.6.2 数据库表结构 33
4.7 本章小结 34
5 基于ANDROID平台的流媒体客户端软件实现 35
5.1 系统框架实现 35
5.2 音/视频播放模块实现 36
5.2.1 数据接收子模块 36
5.2.2 数据预处理子模块 37
5.2.3 解码播放子模块 39
5.3 扩展模块实现 44
5.3.1 文件列表管理子模块 44
5.3.2 播放列表管理子模块 45
5.3.3 音/视频搜索子模块 46
5.4 数据库实现 48
5.5 本章小结 50
6 基于ANDROID平台的流媒体客户端软件测试 51
6.1 系统测试环境 51
6.2 系统功能测试 51
6.3 系统性能测试 54
6.4 测试结果分析 54
6.5 本章小结 55
7 总结与展望 56
7.1 总结 56
7.2 展望 56
致 谢 58
参考文献 59
1 绪 论
1.1 选题背景与意义
1.1.1 选题背景
目前,移动通信技术飞速发展,在高速移动网络环境下,人们不仅仅满足于普通文本、图像信息的表现模式,而越来越渴望一种更为直观的信息表现模式,网络视频逐步走进人们的生活,以一种丰富的信息表现模式来充实原有的普通模式[1]。而流媒体技术成为了此次变革中的新兴技术,此技术颠覆了原有的视频传播方式,原有的单向传播逐步被现在的双向互动传播取代。近年来,移动互联网技术的发展,也为流媒体技术的革新做了铺垫,网上的直播视频终于从实践阶段迈向了实用阶段,网络直播逐步深入家家户户,人们非常青睐于这种网上直播模式,用以记录生活中的各项活动、点点滴滴。现在主流的网络直播系统是基于Helix System/Windows Media[2],其对高质量的音/视频、视频直播、视频轮播、混合直播、虚拟直播都是支持的,且在性能上具有较好的稳定性、可扩展性、可靠性、可移植性,从用户的角度来看,是非常易用操作使用的。
随着移动智能手机的广泛应用,对于视频多媒体形式的需求越来越迫切,人们不仅仅希望在PC机上获取视频模式的信息,更渴望随时随地地获取多媒体信息,移动流媒体技术应运而生,其以直观、灵活、动态、存储要求低等优势得到了广泛的应用[3-4]。同时,近来3G无限网络、音/视频技术的飞速发展也为移动流媒体的普及做了铺垫。移动流媒体技术主要采用编码技术:为了节省带宽,在传输流媒体数据时需要先对其进行压缩、编码,再结合网络的拥塞情况不确定性,使编码后的数据能够适应网络的各种变化,在不同的情况下都能有较好的播放效果。目前,流媒体技术主要应用于视频点播、直播、视频会议、远程网络教育中。
① 视频点播、直播
现在互联网技术已经深入千万家,人们应用互联网观看电视节目、综艺、赛事等,然而,目前网络带宽仍不能满足人们的需求,若不对此研究新兴技术是完全不能实现视频的高质量播放的[5]。流媒体技术正是为解决带宽限制问题,使视频在较低的带宽环境下仍然能够以较高的质量播放的一种手段。
② 视频会议
随着视频技术的发展,其逐渐应用与各个领域,将视频与会议结合以后,能够实现会议规模的扩大,给广大企业带来便利,其应用流媒体技术的高扩展性、高带宽利用率使会议在网络环境中流畅的进行[6]。
③ 远程网络教育
将流媒体技术应用于远程网络教育,取代了以往文本教育模式。同时,较传统的远程教育,具有更高的交互性,解决了教学形式单一等问题。学生们应用远程网络教育,可自主选择教育模式:在线直播课堂、录制点播课堂等。学生们可根据自己的需求侧重选择适合自己的课堂方式及课堂内容,此远程课堂不仅可以采用传统的聊天工具、Email等,还可以采用音/视频答疑模式,最大程度上满足了学生的需求,提高了学习的效率[7-8]。
随着移动互联网的发展,其解决了电脑携带不便、网络接入限制等问题,实现了用户随时随地产生的一些需求。将流媒体技术应用于智能终端,实现用户随时随地存取音/视频数据已成为了移动互联网时代的必然趋势,本课题正是在这样的背景下,研究开发一套基于Android平台的流媒体客户端。
1.1.2 选题意义
在21世纪这个Internet蓬勃发展的年代,信息作为了人们生活、工作的主要载体,以各种方式呈现,多媒体信息表现方式以其高效、实时等特性深受人们的青睐。多媒体通信可以承载大量的数据,并且在时效性方面表现得尤为出色。人们不再满足于原有的文本信息交互模式,这种结合音频、视频为一体的多媒体信息交互模式以其传输延迟小、丢包率小等优点深得人们喜欢。
多媒体通信技术较原有的文本通信技术有非常大的改变,多媒体信息结合了音/视频就决定了其在播放时需要考虑音/视频的流畅性以及音/视频的同步问题等。多媒体信息主要通过多媒体客户端进行展示(播放音/视频文件),其对网络带宽的要求较高,网络的延迟会直接影响到用户体验。为使多媒体信息能够流畅地播放,流媒体技术应运而生,成为了网络多媒体应用的发展趋势。流媒体技术结合了多媒体技术和网络技术,主要内容有:流媒体编码技术、流媒体服务器技术、流媒体系统技术等[9]。流媒体服务器主要为流媒体客户端提供流媒体服务,时效性、大数据量是其主要优点。其是整个多媒体信息交互的核心,在此之中最重要的部分为多媒体通信部分,为满足时效性等特点,在通信部分不能采用具有重传、拥塞控制机制的可靠传输协议TCP传输层协议。其主要用到了实时传输协议RTP、实时流协议RTSP、实时传输控制协议RTCP等流媒体的应用层协议。
在这些基础上,设计并实现一款基于Android手机操作系统的流媒体客户端软件成为了可能,并且纵观目前信息化发展的趋势,移动终端正在逐步分割PC机的天下,人们已经认可了这种随时随地进行信息交换、信息处理的模式,并越来越渴望能够在各个领域实现信息的随时随地获取,多媒体信息以其信息量大、时效性强更是深受欢迎[10],将多媒体技术与移动终端技术结合是现代移动互联网发展的必然趋势,因此,研究基于移动终端的流媒体客户端具有重大的意义和价值。
1.2 国内外研究现状
近些年,流媒体技术飞速发展,互联网上广泛应用流媒体技术来存取音/视频信息,其主要存在的技术方案有Microsoft公司的Windows Media System,RealNetworks公司的Real System,以及Adobe公司的Flash Media System,Apple公司的QuickTime。
Windows Media System主要是针对Windows操作系统平台来设计的,是一个全免费的流媒体平台,并为广大的开发人员提供了软件开发工具。
Real System上的Real Media具有较完整的功能,其主要结合SureStream自适应流技术,基于SMIL与自主研发的RealPix技术、RealText技术配合工作,提供交互功能、流媒体控制功能等,并能适应用户可变带宽环境。
Flash Media System是一款较为流行的流媒体平台,其主要是借助Flash平台首先流媒体的跨平台、跨媒体传播。目前,很多音/视频网站都是采用的此平台支撑,例如国外YouTube视频网站,以及国内的土豆、优酷等视频网站。其中,Adobe公司的FMS系统的视频点播服务就深受人们的青睐,人们通过此系统来观看晚会、赛事、娱乐等[11]。
QuickTime是由Apple公司指定的先进视频工业标准,QDesign Music技术和Sorenson Vide技术主要被用来进行音/视频的编解码。
随着移动互联网时代的到来,移动流媒体的需求也逐渐明显,人们渴望拥有一款能够随时随地流畅地观看视频的软件。目前,在移动应用商店里能够找到的音/视频播放器虽说不少,但是由于移动终端网络带宽的限制,在进行点播或直播时,都表现的不够好,常常出现因为下载不
上一篇:
毕业设计--电力系统稳定器的设计
下一篇:
试论APP广告在手机中的应用