基于Android平台的流媒体客户端软件的设计与实现.docx

上传人:b****5 文档编号:6190222 上传时间:2023-01-04 格式:DOCX 页数:58 大小:1.27MB
下载 相关 举报
基于Android平台的流媒体客户端软件的设计与实现.docx_第1页
第1页 / 共58页
基于Android平台的流媒体客户端软件的设计与实现.docx_第2页
第2页 / 共58页
基于Android平台的流媒体客户端软件的设计与实现.docx_第3页
第3页 / 共58页
基于Android平台的流媒体客户端软件的设计与实现.docx_第4页
第4页 / 共58页
基于Android平台的流媒体客户端软件的设计与实现.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

基于Android平台的流媒体客户端软件的设计与实现.docx

《基于Android平台的流媒体客户端软件的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android平台的流媒体客户端软件的设计与实现.docx(58页珍藏版)》请在冰豆网上搜索。

基于Android平台的流媒体客户端软件的设计与实现.docx

基于Android平台的流媒体客户端软件的设计与实现

基于Android平台的流媒体客户端软件的设计与实现

 

摘要

在21世纪这个Internet蓬勃发展的年代,多媒体信息以其高效、实时的表现方式深受人们的青睐。

媒体技术与移动终端技术的相互结合已成为现代移动互联网发展的必然趋势。

结合音频、视频为一体的多媒体信息交互模式以其传输延迟小、丢包率小的优点正逐步走入人们的日常生活。

因此,研究基于移动终端的流媒体客户端具有重大的现实意义与价值。

本文以Android系统为运行平台,为移动端用户设计并实现了一套流畅、稳定的流媒体客户端软件系统。

主要完成了以下研究工作:

1.合理选取开发基于Android平台的流媒体客户端软件所需的技术

对选题研究背景与国内外现状进行分析,明确该课题使用的关键技术,开展技术调研。

深入研究了Android平台的架构、流媒体技术、H.264视频压缩编解码技术、流媒体传输协议,为系统的设计和开发做好铺垫。

2.完成了基于Android平台的流媒体客户端软件的需求分析

概述了该系统的功能需求和非功能需求,其中使用UML用例图详细分析了系

统的功能用例。

将系统分为音/视频播放模块和扩展模块。

其中音/视频播放模块由数据接收、数据预处理、解码播放子模块协作完成本地和网络音/视频文件的播放任务;扩展模块由文件列表管理、播放列表管理和音/视频搜索子模块一起完成音/视频播放的辅助功能。

3.完成了基于Android平台的流媒体客户端软件的设计

根据需求分析中的功能用例,分析了系统主要功能的业务流程,并给出了数据库表的结构和关联关系。

4.实现了基于Android平台的流媒体客户端软件系统

对FFMPEG库进行裁剪与优化,移植到Android系统中,编码实现了整个系统的业务功能,并通过运行截图展示了系统的运行效果。

该流媒体客户端软件能够使压缩、编码后的音/视频适应网络的变化,在Android系统上更加流畅、稳定的播放,延迟较小,满足了用户随时随地享受音/视频带来的无穷乐趣的目的。

 

关键词:

多媒体客户端,音/视频播放,Android平台,FFMPEG库,流畅稳定

ABSTRACT

Inthe21stcenturythevigorousdevelopmentoftheInternets,multimediainformationwithitshighefficientandreal-timemannerbythepeopleofallages.MediatechnologyandmobileterminaltechnologycombinedwitheachotherhasbecomeaninevitabletrendforthedevelopmentofmodernmobileInternet.Combinedwithaudio,videoofmultimediainformationinteractionpatternwithitssmalltransmissiondelay,packetlossrateofsmalladvantagesisgraduallyintoPeople'sDailylife.Therefore,basedontheresearchonmobilestreamingmediaclienthasthesignificantpracticalsignificanceandvalue.

BasedonAndroidplatformformobileterminaluserswasdesignedandimplementedasmooth,stableclientsoftwarestreamingmediasystem.Basicallycompletedthefollowingwork:

1.ThereasonableselectionofdevelopmentbasedontheAndroidplatformofthetechnologiesneededforstreamingmediaclientsoftware.

Analyzethetopicresearchbackgroundandpresentsituationathomeandabroad,clearusingthekeytechnologyofthesubject,tocarryouttechnicalresearch.FurtherstudyoftheAndroidplatformarchitecture,streamingmediatechnology,h.264videocompressioncodectechnology,streamingmediatransmissionprotocol,forthesystemdesignanddevelopment.

2.ThestreamingclientsoftwarerequirementsanalysisbasedontheAndroidplatform.

Outlinedthesystemfunctionalrequirementsandnonfunctionalrequirements,whichUSEStheUMLusecasediagramsareanalyzedindetail.

Thesystemisdividedintoaudio/videoplaybackmoduleandextendedmodule.Theaudio/videoplaybackmodulebydatareceiving,datapreprocessing,decodingdisplaymodulecompletethelocalandnetworkaudio/videofileplaytask;Extensionmodulebyfilelistmanagement,playlistsandaudio/videosearchmodulewithcompleteaudio/videoplaybackauxiliaryfunctions.

3.ThestreamingclientsoftwaredesignbasedontheAndroidplatform

Accordingtodemandanalysisofthefunctionusecase,analyzedthesystemmainfunctionofthebusinessprocess,andgivesthedatabasetablestructureandrelationships.

4.TorealizethestreamingclientsoftwaresystembasedonAndroidplatform

TocutandoptimizationofFFMPEGlibrary,portedtotheAndroidsystem,implementthefunctionofthebusinessofthewholesystem,andbyrunningthescreenshotsshowtherunningeffectofthesystem.

Thestreamingclientsoftwarecanmakeaftercompression,codingofaudio/videotoadapttothechangesinthenetwork,moreprocessintermsoftheAndroidsystem,stability,lessdelay,meettheuserstoenjoythesound/videoanytimeandanywherewiththepurposeoffun.

Keywords:

MutimediaClient,Audio/videoplay,AndroidPlatform,FFMPEGlibrary,Smoothandstability

 

1绪论

1.1选题背景与意义

1.1.1选题背景

目前,移动通信技术飞速发展,在高速移动网络环境下,人们不仅仅满足于普通文本、图像信息的表现模式,而越来越渴望一种更为直观的信息表现模式,网络视频逐步走进人们的生活,以一种丰富的信息表现模式来充实原有的普通模式[1]。

而流媒体技术成为了此次变革中的新兴技术,此技术颠覆了原有的视频传播方式,原有的单向传播逐步被现在的双向互动传播取代。

近年来,移动互联网技术的发展,也为流媒体技术的革新做了铺垫,网上的直播视频终于从实践阶段迈向了实用阶段,网络直播逐步深入家家户户,人们非常青睐于这种网上直播模式,用以记录生活中的各项活动、点点滴滴。

现在主流的网络直播系统是基于HelixSystem/WindowsMedia[2],其对高质量的音/视频、视频直播、视频轮播、混合直播、虚拟直播都是支持的,且在性能上具有较好的稳定性、可扩展性、可靠性、可移植性,从用户的角度来看,是非常易用操作使用的。

随着移动智能手机的广泛应用,对于视频多媒体形式的需求越来越迫切,人们不仅仅希望在PC机上获取视频模式的信息,更渴望随时随地地获取多媒体信息,移动流媒体技术应运而生,其以直观、灵活、动态、存储要求低等优势得到了广泛的应用[3-4]。

同时,近来3G无限网络、音/视频技术的飞速发展也为移动流媒体的普及做了铺垫。

移动流媒体技术主要采用编码技术:

为了节省带宽,在传输流媒体数据时需要先对其进行压缩、编码,再结合网络的拥塞情况不确定性,使编码后的数据能够适应网络的各种变化,在不同的情况下都能有较好的播放效果。

目前,流媒体技术主要应用于视频点播、直播、视频会议、远程网络教育中。

1视频点播、直播

现在互联网技术已经深入千万家,人们应用互联网观看电视节目、综艺、赛事等,然而,目前网络带宽仍不能满足人们的需求,若不对此研究新兴技术是完全不能实现视频的高质量播放的[5]。

流媒体技术正是为解决带宽限制问题,使视频在较低的带宽环境下仍然能够以较高的质量播放的一种手段。

2视频会议

随着视频技术的发展,其逐渐应用与各个领域,将视频与会议结合以后,能够实现会议规模的扩大,给广大企业带来便利,其应用流媒体技术的高扩展性、高带宽利用率使会议在网络环境中流畅的进行[6]。

3远程网络教育

将流媒体技术应用于远程网络教育,取代了以往文本教育模式。

同时,较传统的远程教育,具有更高的交互性,解决了教学形式单一等问题。

学生们应用远程网络教育,可自主选择教育模式:

在线直播课堂、录制点播课堂等。

学生们可根据自己的需求侧重选择适合自己的课堂方式及课堂内容,此远程课堂不仅可以采用传统的聊天工具、Email等,还可以采用音/视频答疑模式,最大程度上满足了学生的需求,提高了学习的效率[7-8]。

随着移动互联网的发展,其解决了电脑携带不便、网络接入限制等问题,实现了用户随时随地产生的一些需求。

将流媒体技术应用于智能终端,实现用户随时随地存取音/视频数据已成为了移动互联网时代的必然趋势,本课题正是在这样的背景下,研究开发一套基于Android平台的流媒体客户端。

1.1.2选题意义

在21世纪这个Internet蓬勃发展的年代,信息作为了人们生活、工作的主要载体,以各种方式呈现,多媒体信息表现方式以其高效、实时等特性深受人们的青睐。

多媒体通信可以承载大量的数据,并且在时效性方面表现得尤为出色。

人们不再满足于原有的文本信息交互模式,这种结合音频、视频为一体的多媒体信息交互模式以其传输延迟小、丢包率小等优点深得人们喜欢。

多媒体通信技术较原有的文本通信技术有非常大的改变,多媒体信息结合了音/视频就决定了其在播放时需要考虑音/视频的流畅性以及音/视频的同步问题等。

多媒体信息主要通过多媒体客户端进行展示(播放音/视频文件),其对网络带宽的要求较高,网络的延迟会直接影响到用户体验。

为使多媒体信息能够流畅地播放,流媒体技术应运而生,成为了网络多媒体应用的发展趋势。

流媒体技术结合了多媒体技术和网络技术,主要内容有:

流媒体编码技术、流媒体服务器技术、流媒体系统技术等[9]。

流媒体服务器主要为流媒体客户端提供流媒体服务,时效性、大数据量是其主要优点。

其是整个多媒体信息交互的核心,在此之中最重要的部分为多媒体通信部分,为满足时效性等特点,在通信部分不能采用具有重传、拥塞控制机制的可靠传输协议TCP传输层协议。

其主要用到了实时传输协议RTP、实时流协议RTSP、实时传输控制协议RTCP等流媒体的应用层协议。

在这些基础上,设计并实现一款基于Android手机操作系统的流媒体客户端软件成为了可能,并且纵观目前信息化发展的趋势,移动终端正在逐步分割PC机的天下,人们已经认可了这种随时随地进行信息交换、信息处理的模式,并越来越渴望能够在各个领域实现信息的随时随地获取,多媒体信息以其信息量大、时效性强更是深受欢迎[10],将多媒体技术与移动终端技术结合是现代移动互联网发展的必然趋势,因此,研究基于移动终端的流媒体客户端具有重大的意义和价值。

1.2国内外研究现状

近些年,流媒体技术飞速发展,互联网上广泛应用流媒体技术来存取音/视频信息,其主要存在的技术方案有Microsoft公司的WindowsMediaSystem,RealNetworks公司的RealSystem,以及Adobe公司的FlashMediaSystem,Apple公司的QuickTime。

WindowsMediaSystem主要是针对Windows操作系统平台来设计的,是一个全免费的流媒体平台,并为广大的开发人员提供了软件开发工具。

RealSystem上的RealMedia具有较完整的功能,其主要结合SureStream自适应流技术,基于SMIL与自主研发的RealPix技术、RealText技术配合工作,提供交互功能、流媒体控制功能等,并能适应用户可变带宽环境。

FlashMediaSystem是一款较为流行的流媒体平台,其主要是借助Flash平台首先流媒体的跨平台、跨媒体传播。

目前,很多音/视频网站都是采用的此平台支撑,例如国外YouTube视频网站,以及国内的土豆、优酷等视频网站。

其中,Adobe公司的FMS系统的视频点播服务就深受人们的青睐,人们通过此系统来观看晚会、赛事、娱乐等[11]。

QuickTime是由Apple公司指定的先进视频工业标准,QDesignMusic技术和SorensonVide技术主要被用来进行音/视频的编解码。

随着移动互联网时代的到来,移动流媒体的需求也逐渐明显,人们渴望拥有一款能够随时随地流畅地观看视频的软件。

目前,在移动应用商店里能够找到的音/视频播放器虽说不少,但是由于移动终端网络带宽的限制,在进行点播或直播时,都表现的不够好,常常出现因为下载不完整、网络拥塞等状况引起的无法正常播放问题,针对这样的问题,流媒体以其传输延迟小、丢包率小等优势逐渐应用与移动智能终端。

就目前应用最为广泛的移动智能终端系统之一的Android系统来说,国内外研发的基于其上的流媒体播放器也一些了,但是变现得都不够出色,还存在很多缺陷。

VLC作为国外流媒体开源项目,设计的流媒体播放器仍然处于测试阶段,其在播放音/视频流时在稳定性方面还是欠缺。

YouTube作为全球最大的视频网站,设计了一款YouTubeMobile,此移动终端上所支持的音/视频格式为WebM,此格式是Google提出的,其采用了音频编解码技术Vorbis和视频编解码技术VP8。

但从效率上来讲这种编解码技术仍然比不上H.264编解码技术[12]。

国内的第一款基于Android移动智能终端平台的流媒体软件是Dopool的手机电视软件,其支持视频的在线直播。

但在测试中,仍然出现了消耗内存大、画质暂停、音质效果不好(断断续续)等弊端。

由此可见,基于移动智能终端的流媒体播放器软件的设计并不是一件容易的事,其在国内外都还处于研究、实践中,其难点主要源于移动终端的特殊性:

内存小、处理器处理能力较为薄弱、移动网络不稳定、网络带宽十分有限等。

1.3论文主要研究工作

本文旨在设计并实现一个基于Android平台的流媒体客户端软件,使压缩、编码后的音/视频能够适应网络变化,在Android系统上更加顺畅、稳定的播放,满足用户随时随地享受音/视频带来的无穷乐趣的目的。

为达到论文选题的预期目标,本文主要完成了以下研究工作:

1研究了嵌入式Android系统的系统架构、开发模式及重要组件的生命周期。

2研究了与移动流媒体客户端相关的标准与协议,包括实时流媒体传输协议

RTSP/RTCP协议、RTP协议,以及MPEG音频标准、MPEG4视频标准等。

3与项目中参与开发工作的人员进行充分的沟通、协调配合,完成了需求分

析、总体设计。

4设计并实现了网络通信模块,包括了RTSP包的发送控制、RTCP包的发

送和RTP包的接收。

5基于Android平台中多媒体框架的核心OpenCore库,实现了客户端系统

音频/视频的解码。

6最终实现了移动流媒体客户端系统,完成了需求上所要求的功能,并对其

做了相关性能测试,达到了预期的效果。

1.4论文的组织结构

第一章绪论:

从选题背景出发,描述了开发一套基于Android平台的流媒体客户端软件的目的与现实意义。

基于以上内容,查阅国内外的文献资料,了解国内外同类型系统的研究现状,为系统后续的分析、设计和实现奠定理论基础。

第二章系统关键技术:

首先对Android系统进行了简单的介绍,然后从Android的系统构架、应用程序组成等方面介绍了Android平台及其功能,最后从本文关注的流媒体播放出发,介绍了流媒体技术、视频压缩解码技术和流媒体传输协议。

第三章基于Android平台的流媒体客户端软件需求分析:

分析了该流媒体客户端软件的功能需求和非功能需求,从整个系统的功能出发,描述了本人的设计工作部分——音/视频播放子系统的功能需求,并使用UML用例图进行了详细的需求分析,进一步明确了系统的需求,为下一步系统设计做好了铺垫。

第四章基于Android平台的流媒体客户端软件设计:

首先明确了系统的运行环境,然后按照需求分析的内容,将系统划分为2个子系统。

针对本人研究的音/视频播放子系统进行了模块划分,将其分为音/视频播放模块和扩展模块,其中音/视频播放模块又被细分为数据接收、数据预处理、解码播放子模块进行设计;扩展模块则被分成文件列表管理、播放列表管理、智能搜索子模块进行设计。

最后,对系统中所用到的数据库进行了设计。

第五章基于Android平台的流媒体客户端软件实现:

首先分析了系统框架的实现原理。

然后分析了每个模块的实现过程,给出了核心的实现方法,尤其对裁剪、优化FFMPEG库,并将其移植到Android平台上进行了较为深入的说明。

最后,通过功能截图展示了系统的实际运行效果。

第六章基于Android平台的流媒体客户端软件测试:

首先介绍了系统的测试环境,然后说明了功能测试的用例和性能测试的相关参数,最后对测试结果进行了分析。

结果表明:

该流媒体客户端软件能够正常播放音/视频文件,性能优越。

第六章总结与展望:

对该选题的研究成果进行总结,并对选题系统后期的完善工作提出了可行的建议。

2系统关键技术

2.1Android概述

2007年11月5日,Google公司发布了一款名为Android(中文意思为机器人)的操作系统,这个操作系统是基于Linux内核的开源操作系统,主要应用于移动智能终端。

目前,Android操作系统已经取得了巨大的成功,与WindowsPhone、IOS等手机操作系统并驾齐驱,成为是主流的手机操作系统之一,Android的成功,主要来源于它的开放性,能够使开发者自由的发挥、自主创新[13]。

Android系统在Linux核心应用的基础上,向广大程序开发者提供了各种函数库和完整的应用程序框架。

此外,Android系统还在Linux核心上提供了一种名为Dalvik的Java应用程序运行环境,与Sun公司的Java虚拟机有所不同,Dalvik是Google独创的专门针对于Android平台进行优化的虚拟机。

为了吸引全世界的应用程序开发人员参与Android平台应用程序的开发,Google公司还提供了完全免费的跨平台的开发工具包(SDK),它们已在Windows、MacOSX、Linux等平台得到了成功的应用。

Android系统主要具有开放性、所有的应用都平等、应用间无界限、快速便捷开发应用的优势。

1开放性

Android是一个真正意义上的开放性移动智能设备综合平台,它的开放性主要表现在:

Android操作系统本身的源代码完全开放,它可以自由的吸纳新的尖端技术;应用程序的自由性。

例如一个应用程序可以调用系统电话服务中的拨打电话、监听电话状态、发送文本信息等核心功能,允许开发者创建更丰富、自由度更高的应用程序;通过与运营商、设备制造商、开发商以及其他有关各方结成深层次的合作伙伴关系,来建立标准化的手机软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持[14]。

2所用的应用都平等

Android系统并不会区分手机中的系统级应用程序或第三方应用程序,所有的应用都运行在一个核心的引擎上面,这个核心的引擎就是Dalvik虚拟机,它提供了一系列用于应用和硬件资源间通信的API服务,所有应用都可以平等的享有系统资源,使用这些服务[15]。

例如开发者可以任意替换手机的风格界面,控制手机使用自定义的图片浏览器程序,按照自己喜欢的方式排列图片、浏览图片。

3应用间无界限

Android打破了应用之间的界限,例如开发者可以将Web上的数据与本地的联系人、日历、位置信息结合起来,为用户创造全新的用户体验[16]。

例如使用Android系统,开发者可以获得其他Android设备的位置信息,允许不同设备之间的交流通信,使得Android平台下的点对点社交成为了可能。

4快速便捷开发应用

Android系统为开发者提供了大量的实用库和工具,开发者可以快速便捷的开发出自己的应用。

例如在Symbian、WindowsPhone手机平台上要进行位置应用的开发是相当复杂的,而Android系统集成了GoogleMap,开发者只需要通过简单的几行代码就可以实现一个基于地图位置的应用[17]。

另外,Android还包含了平台周边的应用,开发者可以高效的开发深入的应用程序。

2.2Android架构

Android是一个软件的集合,它包括了操作系统、中间件、针对移动终端的应用程序框架,这样一个集合形成了Android层次架构。

如图2.1所示。

图2.1Android系统结构

Fig.2.1TheArchitectureofAndroidSystem

Android系统架构由Application层、ApplicationFramework层、Li

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1