(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf_第1页
(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf_第2页
(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf_第3页
(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf_第4页
(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机科学与技术专业论文)面向实时监控的流媒体播放器的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一i tjp l 1 ,、 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:立闫翻够一 日期:二弛生立胡t 一 关于论文使用授权的说明 本人完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校 可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。 本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: h t f 一 1 4 t o , 面向实时监控的流媒体播放器的设计与实现 摘要 随着移动通信技术和多媒体技术的迅速发展,融合手机、网络、 多媒体技术为一体的视频监控技术也有了长足的进步,通过移动通信 网络提供流媒体服务已经成为可能。全球移动用户数非常庞大,因此 移动流媒体服务具有巨大的市场潜力,也正成为移动业务的研究热点 之一。在这一背景下,针对移动网络和移动终端的特点,提出移动流 媒体客户端的解决方案很有现实意义。 本论文结合f f m p e g 开源代码中解码流程,提出了移动终端流媒 体播放器基于分层体系架构的设计方案。该设计的特点是在底层屏蔽 不同类型文件解码时对媒体流处理的差异,并且提供了对外部摄像头 设备的控制功能。 本论文首先介绍了开发面向实时监控业务的流媒体播放器项目的 必要性,在分析了各种手机开发平台和流媒体网络传输协议的基础 上,选定具有开放性、易用性和廉价性等特点的a n d r o i d 手机平台作 为本论文播放器的目标平台,实现基于r t s p 、i 盯p r t c p 协议的流 媒体播放功能。本文根据a n d r o i d 平台和f f m p e g 开源代码结构的特 点,提出f f m p e g 快速修剪方法及优化策略,并将优化后代码移植到 a n d r o i d 平台上,作为播放器文件解封装库及解码库。为保证播放流 媒体文件的流畅性,本文提出了拥塞控制、缓冲策略和拼帧策略三种 方法相结合的q o s 保证方法,使得该播放器的内存利用率、播放抖 动等性能均有很大的提高。 本论文的成果在于:基于a n d r o i d 平台、采用j a v a 语言实现一个 支持流媒体播放的并完全面向实时监控的播放器。该播放器不但能够 高性能地完成本地文件以及流媒体文件的播放,还为用户提供对外部 摄像头的控制功能,并且使用多种策略以达到播放器q o s 保证,为 视频监控技术走向小型企业及家庭打下了基础。 关键词:播放器f f m p e g a n d r o i d 平台 摄像头控制q o s t 囊 蠢 矾j a , 。,。 。 a b s t r a c t w i t ht h ed e v e l o p m e n to fm o b i l ec o m m u n i c a t i o n sa n dm u t i l - m e d i at e c h n o l o g y , v i d e om o n i t o rt e c h n o l o g yw h i c hm e r g e sm o b i l ep h o n e s ,n e t w o r k s ,m u l t i m e d i a t e c h n o l o g yt o g e t h e rh a sm a d eg r e a tp r o g r e s s i ti sp o s s i b l et op r o v i d es t r e a m i n gm e d i a s e r v i c et h r o u g hm o b i l en e t w o r k s t h en u m b e ro fm o b i l eu s e r si ss oc o n s i d e r a b l et h a t m o b i l es t r e a m i n gm e d i as e r v i c eh a sh u g em a r k e tp o t e n t i a la n db e c o m e so n eo ft h eh o t i s s u s e s a g a i n s tt h i sb a c k g r a n d ,f o rm o b i l en e t w o r k sa n dm o b i l et e r m i n a l s sf e a t u r e s , i tw i l lb eo fg r e a tr e a l i s t i cs i g n i f i c a n c et op r o p o s eas o l u t i o nf o rc l i e n ts i d eo fm o b i l e s t r e a m i n gm e d i ac l i e n ts i d e a d e s i g nb a s e do nt h el a y e r i n ga r c h i t e c t u r ew h i c hw i l lb eu s e di ns t r e a m i n g p l a y e rc o m b i n i n gw i t ht h ed e c o d i n gp r o c e s si nf f m p e gi sp r o p o s e d t h ed i f f e r e n t s b e t w e e nt w ot y p e so ff i l ec o u l db es h i e l d e da n dt h ef u n c t i o nw h i c hc o u l dc o n t o l e x t e r n a lc a m e r ai sa l s os u p p o r t e di nt h i sd e s i g n t h en e c e s s i t yo ft h i sp r o j e c ti si n t r o d u c e d b a s e do nt h ea n a l y s e so fs e v e r a l m o b i l ep l a t f o r m sa n ds t r e a m i n gm e d i ap r o t o c o l s ,a n d r o i dp l a t f o r mi sc h o o s e dt ob e t h et a r g e tp l a t f o r mt oi m p l e m e n tt h ef u c t i o no fp l a y i n gs t r e a m i n gm e d i ao ni tf o ri t s o p e n n e s s ,u s a b i l i t ya n dc h e a p n e s s b a s e do nc h a r a c t e r so fa n d r o i dp l a t f o r ma n d f f m p e g sa r c h i t e c t u r e ,af a s tp r u n i n gm e t h o da n dao p t i m i z a t i o na r ep r o p o s e dt o r e d u c et h ef i l e so ff f m p e ga n dt oi m p o v et h ee f f i c i e n c yo ff f m p e g , a f t e rm a t , f f m p e gs o u r c ec o d ei sm o v e dt oa n d r o i dp l a t f o r ma n di su s e da sd e c o d e rl i b r a r yi n t h ep l a y e r i no r d e rt oe n s u r et h ef l u e n c yo fp l a y i n gt h es t r e a m i n gm e d i af i l e s ,aq o s m e t h o dw h i c hc o m b i n e sc o n g e s t i o nc o n t r o l 、b u f f e rs t r a t e g ya n ds p l i c i n gf r a m e s t r a t e g yi si n t r o d u c e d ,t h i sm e t h o dc o u l di m p o v et h ep e r f o r m a n c eo fm e m o r y u t i l i z a t i o na n dm a n yo t h e rp r o p e r t i e s t h ea c h i e v e m e n t so ft h i sa r t i c l ea r e :j a v al a n g u a g ei su s e dt oi m p l e m e n ta s t r e a m i n gm e d i ap l a y e r b a s e do na n d r o i dp l a t f o r mw h i c hc o m p l e t e l yo r i e n t s r e a l - t i m em o n i t o r i n g i tc a np l a yn o to n l yl o c a lf i l e sa n ds t r e a m i n gm e d i af i l e s ,b u t a l s oc a ns u p p o r t st h ef u c t i o no fc o n t r o le x t e r n a lc a m e r a b e s i d e s ,i t se n s u r e st h eq o so f t h ep l a y e rw i t ht h r e es t r a t e g i e s k e y w o r d s :p l a y e r , f f m p e g ,a n d r o i dp l a t f o r m ,c a m a r ac o n t r o l ,q o s 一i , 孓 一 产 第一章引言。 目录 l 1 1 课题背景及意义1 1 2 研究现状一2 1 2 1 流媒体播放器的研究现状2 1 2 2 手机流媒体播放器的研究现状。3 1 3 课题研究内容4 1 4 论文结构5 第二章面向实时监控的流媒体播放器相关技术分析6 2 1 手机开发平台。6 2 1 1 手机平台比较6 2 1 2a n d r o i d 系统框架7 2 1 3a n d r o i d 媒体库9 2 2f f m p e g 框架10 2 2 1f f m p e g 简介1 0 2 2 2f f m p e g 中主要数据结构1 1 2 3 流媒体协议介绍1 4 2 3 1 实时流媒体协议r t s p 一1 4 2 3 2 会话描述协议s d p 1 5 2 3 3 实时传输控制协议r t p r t c p 1 6 2 3 4p e l c o d p 协议1 7 2 4 本章小结1 8 第三章面向实时监控的流媒体播放器的设计1 9 3 1 流媒体播放器系统结构设计1 9 3 1 1 流媒体播放器的层次结构1 9 3 1 2 流媒体播放器的各层详解2 0 3 2 数据获取层设计21 3 2 1 会话控制及媒体信息处理2 1 3 2 2 音视频数据接收2 2 3 2 3 网络传输控制2 3 3 3 数据预处理层设计2 4 3 3 1 网络r t p 数据包预处理2 5 3 3 2 控制信息封装2 7 3 4 解码层的设计2 9 3 4 1 解码器2 9 3 4 2 多路媒体同步处理3 1 3 5 本章小结3 3 第四章面向实时监控的流媒体播放器的实现 4 1 开发平台的搭建3 4 4 2f f m p e g 解码移植3 5 4 :! 1a n d r o i dn d k 3 5 4 2 2a n d r o i dn d k 中m a k e f i l e 3 6 4 2 3f f m p e g 移植方法3 7 4 3f f m p e g 解码优化4 0 4 3 1f f m p e g 代码剪裁4 0 4 3 2f f m p e g 代码优化4 2 4 4 流媒体播放器的实现4 2 4 4 1 用户界面实现4 2 4 4 2 本地文件播放模块实现4 4 4 4 3 流媒体文件播放模块4 5 4 4 4 流媒体播放时云台控制模块的实现4 9 4 5 本章小结4 9 第五章流媒体播放器q o s 关键技术问题分析5 0 5 1 拥塞控制机制5 0 5 2 接收r t p 包缓冲策略5 0 5 2 1 缓冲区大小5 1 5 2 2 缓冲区数据结构设计5 2 5 2 3 缓冲区监测管理策略5 3 5 3 拼帧策略。5 3 5 4 本章小结5 4 第六章结束语 6 1 论文工作总结5 5 6 2 问题和展望5 5 参考文献5 7 致谢5 9 攻读学位期间发表的学术论文6 0 簟i i 一 北京邮电大学软件学院硕士论文 1 1 课题背景及意义 第一章引言 近年来,随着计算机与微电子技术的不断进步,从收录机风靡全球的八十年 代到高质量影音技术大行其道的今天,视频语音技术的发展脚步见证了人们物质 文化生活的逐步丰富。目前使用最为广泛且发展前景最好的多媒体业务主要是视 频监控、会议电视、远程教学、远程医疗、可视电话等业务【l 】。其中监控技术以 直观、方便,以及信息量丰富而被广泛应用于对重要区域或远程地点的监视和控 制,视频监控技术在电力系统、电信机房、工厂、城市交通、水利系统、小区治 安【2 】等领域也得到了越来越广泛的应用。 目前视频监控系统提供服务的方式是将监控点实时采集的视频流实时地传 输给监控中心,需要人工在监控中心内对突发事件进行处理。但这种集中处理的 监控模式具有服务成本高、对监控人员要求高等缺点。在监控系统逐渐走进微小 型企业、工厂甚至家庭等工作人数较少的环境下,有专门的监控人员实时地查看 监控视频变的不切实际,这种集中处理的监控模式已经不能达到人们对监控服务 便捷性、方便性等方面的要求。 在这种背景下,人们提出将视频监控信息实时地传输到可以随身携带的移动 终端上供相关人员随时观看监控信息的监控模式来解决上述问题,但最初的移动 网络由于带宽等性能的限制,使得这种监控模式的服务质量较差,因此这种模式 并没有广为流行。随着3 g 标准【3 】的颁布和3 g 网络的开通,这一技术难题得到 了极大地解决。3 g 技术可以为移动用户提供高速的数据业务,使得这种监控模 式的服务质量有了一定保障,并且不用提供专人实时查看监控信息,服务成本也 有很大程度的减低。 基于上述优点,使用移动终端观看实时监控系统的音视频信息随着3 g 网络 的开通将成为一种潮流。现阶段最常见的移动终端非手机莫属,但现有手机的播 放器一般只是针对普通本地文件的播放,即使播放器能够支持监控实时流媒体播 放,也只能提供简单的本地文件和流媒体文件的查看功能,不能为用户提供丰富 实时监控系统需要的摄像头控制及其它扩展功能,因此,迫切需要一款功能齐全 的手机流媒体播放器。本文基于上述原因,计划开发一款完全面向实时监控的手 机播放器,不但要为用户提供一个友好的操作界面,而且还能够提供摄像头控制 等高级功能。 北京邮电大学软件学院硕士论文 1 2 研究现状 目前市场上有多种p c 终端的流媒体播放器,它们拥有着各自的技术特点和 体系结构。现有的手机播放器大多是从桌面播放器移植而来。但对手机操作系统 而言,存在自身特征和各种资源的不足,如c p u 处理能力弱、内存小和能源少 等问题。但桌面播放器的设计并未考虑这些问题,所以单纯地将桌面播放器移植 到手持终端上已经不能满足消费者对性能、效率等方面越来越高的要求了。 1 2 1 流媒体播放器的研究现状 现有的主流流媒体播放器分别是:m i c r o s o f t 的w i n d o w sm e d i ap l a y e r 、a p p l e 公司的q u i c k t i m e 和r e a l n e t w o r k s 公司的r e a l p l a y e r 。下面本文对这三种主流的 流媒体播放器进行分析、比较,借鉴它们的优点,从而帮助作者设计符合人们需 求的手机终端流媒体播放器。 1 ) w i n d o w sm e d i ap l a y e r 4 】 w i n d o w sm e d i ap l a y e r ( 以下简称w m p ) 是微软公司推出的一款基于w i n d o w s 的媒体播放器。它可以支持播放本地文件和网络流媒体文件,并且支持a v i 、w m a 、 m p 3 等大多数多媒体格式的播放。 w m p 采用封闭式结构,但各个组件都已经模块化。从整体上说,它提供给 用户友好的操作界面,并且支持的功能较多。但是它是一个基于d i r e c t s h o w 体 系结构( 微软公司在a e t i v e m o v i e 和v i d e of o rw i n d o w s 的基础上推出的基于 c o m 的流媒体处理的开发包) 的媒体播放器,而且没有开放源码,开发人员 想在原有播放器基础上扩展其他附加功能必须应用组件对象模型( c o m ) 技术和 m i c r o s o f ta c t i v e x 控件技术【5 j 在微软给出的s d k 上进行二次开发,这样就决定了 播放器仅适用于w i n d o w s 系列操作系统,不具备良好的可移植性。此外,由于 微软在该播放器中集成了广播电台、寻找i n t e m e t 视频等多种附加功能,导致该 款播放器存在系统资源占用过大、响应速度慢的缺点。 2 ) q u i c k t i m ep l a y e r 6 】 q u i c k t i m ep l a y e r 是苹果公司推出的多媒体播放软件,现有最新版本是 q u i c k t i m ep l a y e r 7 。该软件允许全屏播放视频,同时也支持本地文件和流媒体文 件的播放,可以支持3 0 多种视频、静态图片及音频文件的标准格式。 q u i c k t i m e 应用架构是一个强大的、可扩展的、灵活的数字媒体制作平台, 它包含两个主要子系统:m o v i et o o l b o x 和影像压缩管理器。与w i n d o w sm e d i a p l a y e r 类似,q u i c k t i m ep l a y e r 虽然可以通过插件扩展,但是它并不开放源码,而 且必须使用苹果公司专有s d k 来开发,同时也不支持l i n u x 系统。 2 p 一 北京邮电大学软件学院硕士论文 3 ) r e a lp l a y e r 7 】 r e a lp l a y e r 是r e a l n e t w o r k 公司推出的一款媒体播放器,支持如r i l l 、r m v b 、 a v i 、3 9 p 等大多数多媒体文件格式。它还支持j p g 、g i f 以及p r i g 等图像格式,但 是不支持q u i c k t i m e 的文件格式。r e a l m e d i a 结构是基于微软组件对象模型( c o m ) 搭建的,但它没有采用c o m 的全部,只实现c o m 的一个子集提供跨平台操作。 因此r e a l p l a y o 具有跨平台性,可以运行在w i n d o w s 、u n i x l i n u x 、m a c 系统 上。在u n i x 与m a c i n t o s h 平台上使用共享库,在w i n d o w s 平台上r m a 插件应 用3 2 位动态链接库。r e a l p l a y e r 的代码并不开源,要想对它进行二次开发必须 向r e a l n e t w o r k 公司购买许可证并且使用专用的r e a l s y s t e ms d k 。同时,由于 r e a l p l a y e r 的大量功能都是基于网络流媒体,如c p u 占用率调整、缓冲设置、网 络环境设置等,作为一款本地播放器缺乏一些常规功能,如声道平衡、声音控制 等。 通过上述分析可以对上面几种播放器的特点进行归纳比较,结果见表1 1 : 表1 - 1 常见媒体播放器特点比较 w i n d o w sm e d i ap l a y e r q u i c k t i m ep l a y e rr e a l p l a y e r 源码开放 否否否 运行环境 缪扬d o w s缪幻d o w s ,m a cf 恸d o w s ,l i n u x ,m a c 体系结构基于d i r e c t s h o w 基于o p e n g l 和q u i c k t i m e 基于r e a l m e d i a 结构 响应速度 一般一般较快 由表1 1 中可知现有主流的流媒体播放器都具有不开放源码( 因此不能在现 有播放器代码基础上增添新功能) ,大多基于某一特定的体系结构,并且仅能运 行于特定的平台上,扩展性和可移植性不强等特点。但现有市场上也有一些非主 流的播放器如m p l a y e r 引,该款播放器开发源码,并且不是基于某一特定的体系 架构,因此可以运行于多种平台上,但是该播放器的界面易用性较差,因而没有 得到广泛地应用。 1 2 2 手机流媒体播放器的研究现状 随着3 g 网络的开通,越来越多的运营商采用网络视频媒体服务解决方案早 已不局限于只将服务提供给p c 用户,大基数手机用户已经成为服务提供商首要 争取的客户,手机上的流媒体播放器也成为播放器厂家新的研究方向,现国内外 也有多款功能强大的手机流媒体播放器,如c o r e p l a y e r 、p v p l a y e r 等,下面对这 几种手机播放器进行比较分析,从而提出适合面向实时监控的流媒体播放器的解 决方案。 c o r e p l a y e r t 9 】是由c o r e c o d e c 公司研制的一款多媒体播放软件,涵盖了多种 3 北京邮电大学软件学院硕士论文 影音媒体格式,并且适合安装在多种硬件平台。测试播放效果很好,画面流畅。 c o r e p l a y e r 支持各种播放模式:重复播放、随机播放、设置播放速度,以及各种 图像缩放比例、旋转屏幕、全屏等,功能非常强大。该款播放器可应用于 、v i n d o w s m o b i l e 、s y m b i a n 、i p h o n e 甚至p a l mp r e 和w e bo s 等多种操作系统。 p v p l a y e r 是由a p a c k e t v i d e o 公司出品的一款能在p p c 平台上播放3 g p ( 3 g 流媒体的视频编码格式) 文件的播放器。该软件的功能非常强大,支持3 g p 、 m p e g - 4 以及r m 等多种文件格式的播放,并且能设置播放文件的缓冲时间,支 持剪辑、保存功能。运行软件时比较畅顺,不过软件的使用界面、设置显得过于 简单。该款软件可以在三星、多普达、h t c 、联想等多款手机上运行。 以上两款流媒体播放器都提供了本地文件和流媒体文件的播放,并且支持多 种音视频格式的播放,c o r e p l a y e r 提供了非常强大的界面设置功能,相比之下 p v p l a y e r 的设置就显得过于简单。其中c o r e p l a y e r 能够运行于多种操作系统之 上,具有很好的跨平台性。 这两种播放器虽然支持流媒体文件的播放,但在实时监控的应用环境中它们 并没有支持例如对摄像头控制、针对危险事务接收告警信息等功能。所以设计开 发一款完全面向实时监控,提供针对实时监控特殊需求而定制的手机流媒体播放 器是十分必要的。 1 3 课题研究内容 本论文主要针对现有视频监控系统的需求,在选定手机平台上设计与开发一 个面向实时监控的流媒体播放器。本课题需要研究的内容有如下几点: 1 设计一款界面友好的播放器,该播放器在播放本地文件时,具有快进、快 退、暂停等功能按钮;在播放网络流媒体文件时,具有对外部摄像头的方向控制 和焦距控制功能的按钮; 2 针对功能强大的编解码开源代码f f m p e g ,本文将研究一种快速的代码裁 剪方法,该方法应保留文件解封装和解码功能,削减f f m p e g 其他附加功能; 3 将基于p c 机的开源代码f f m p e g 优化,并移植到手机平台上,使其适应手 机平台的c p u 、内存等限制条件,提高播放器的解码效率; 4 设计播放器的q o s 保证策略; 5 设计实现对带有控制云台的外部摄像头的控制功能,该处的控制功能应包 括摄像头方向的调节和焦距远近的调节。 4 一 k 矿 第二章,主要介绍了流媒体播放器开发的相关技术,例如a n d r o i d 平台的发 展背景及其系统架构;音视频编解码的开源代码f f m p e g 的框架及其主要数据结 构;流媒体相关协议、摄像头云台控制协议。 第三章,提出了基于手机平台、面向实时监控系统播放器的总体设计方案, 主要介绍了手机端播放器的总体框架,并对每一部分的设计进行了详细地说明。 第四章,介绍了如何搭建手机开发平台,播放器各个模块的实现方法:如何 将f f m p e g 源代码中解码部分的移植;分析f f m p e g 解码流程,并提出修剪和优 化方案,以及云台控制功能的实现。 第五章,提出流媒体播放器q o s 总体解决方案,本章详细介绍了该解决方案 中拥塞控制、缓冲策略和拼帧策略三部分的设计方法。 第六章,总结与展望,总结主要工作内容及本文的研究成果,并提出进一步 的研究工作。 5 北京邮电大学软件学院硕士论文 第二章面向实时监控的流媒体播放器相关技术分析 设计流媒体播放器必须解决该播放器开发的目标平台,本章通过对多种手机 开发平台的对比分析,确定了具有开放、廉价、易用等特性的a n d r o i d 平台作为 本文中播放器的目标平台。播放器中核心功能为音视频解码,其中需解码的音视 频格式繁多且每种解码算法实现复杂,目前大多数播放器的开发并非自己重新开 发解码模块,而是使用f f m p e g 音视频编解码的开放源码作为播放器的解码库, 本文也将使用这种方法,并在本章简要介绍f f m p e g 内容及其主要数据结构。由 于本文中播放器支持流媒体的播放,在本章最后将详细介绍流媒体播放时主要协 议。 2 1 手机开发平台 2 1 1 手机平台比较 目前市场中比较主流的手机开发平台有诺基亚的s y m b i a n 、微软的w i n d o w s m o b i l e 、苹果的i p h o n e 和最新由g o o g l e 推出的a n d r o i d 平台,这四种手机开发 平台都有各自的优点和缺点,下面将对每个平台进行分析,经比较后选定其中一 种做为流媒体播放器的目标平台。 s y m b i a n 1 0 】是一种用于手机上应用程序开发和运行的开放式工业标准操作系 统,它是一个实时性、多任务的3 2 位操作系统,具有功耗低,内存占用少等特 点。它的特征包括文件系统、图形用户界面框架、多媒体支持、t c p i p 栈和库, 它们用于实现智能手机上的所有通信功能。s y m b i a n 具有一个软件开发包,供应 第三方应用程序开发使用,而且操作系统的硬件层经过了抽象,因此可以满足手 机生产商的特定要求。s y m b i a n 作为专用嵌入式手机操作系统,具有基于组件、 完全面向对象等特点。但是s y m b i a n 也有两个弱点,一是开源不彻底,二是目前 中国用户手机占有率最高的n o k i a 摇身一变成为了“运营商 ,通过手机预置链 接n o k i a 门口网站的业务程序来提供增值业务,而且拒绝中国本地运营商的业务 预置。 w i n d o w sm o b i l e h i 是m i c r o s o f t 用于p o c k e tp c 和s m a r t p h o n e 的软件平 台。w i n d o w sm o b i l e 将熟悉的w i n d o w s 桌面扩展到了个人设备中。微软的 w i n d o w sm o b i l e 是不开源的,界面类似于台式机的w i n d o w s ,便于熟悉电脑的 人操作。并且预装软件丰富,内置o f f i c ew o r d 、e x c e l 、p o w e rp o i n t ,可浏览甚 6 一 p 苎室堕鱼丕堂竺堡堂堕堡主丝奎 表2 - 1 手机开发平台特点比较 s y m b i a n w i n d o w sm o b i l ei p h o n ea n d r o i d 源码开放否否 否 是 使用复杂度简单比较复杂 一般复杂 简单 软件兼容度 一般 好硬件与软件一一绑定好 手机价格一般 血 贵一般页 从表2 1 中可以看出,s y m b i a n 的强势、w i n d o w sm o b i l e 的价格、i p h o n e 的 封闭都是相比a n d r o i d 之下的弱点。从中国范围来看,中国移动走在a n d r o i d 潮 流的前列,已经完成了a n d r o i d 定制,还开发了不少自有的中间件和应用,为以 后的业务预置铺垫了基础。相信未来a n d r o i d 以其开源、低价、易开发等特点必 将在移动终端平台市场上占有一席之地,基于以上原因本文采用最新推出的 a n d r o i d 做为播放器目标平台。 2 1 2a n d r o i d 系统框架 a n d r o i d 平台架构【1 4 】从上至下包含了五个部分:应用程序( a p p l i c a t i o n s ) 、应 用框架( a p p l i c a t i o nf r a m e w o r k ) 、开发库( l i b r a r i e s ) 、运行时环境( a n d r o i d r u n t i m e ) 以及l i n u x 内核( l i n u xk e m e l ) ,如图2 1 所示。 ( 1 ) 应用程序( a p p l i c a t i o n s ) a n d r o i d 会同一系列核心应用程序包一起发布,该应用程序包包括e m a i l 客户 端、s m s 短消息程序、日历、联系人管理程序等。所有的应用程序都是使用j a v a 7 北京邮电大学软件学院硕士论文 语言编写的。 ( 2 ) 应用框架( a p p l i c a t i o nf r a m e w o r k ) 应用程序框架是进行a n d r o i d 开发的基础,开发人员大部分情况下也是和应 用程序框架层打交道。应用程序框架层包含了视图系统、内容提供器、窗口管理 器、活动管理器、通知管理器、位置管理器、资源管理器、电话管理器和包管管 理器9 大部分。 图2 - 1a n d r o i d 架构图 在a n d r o i d 中,任何一个应用程序都可以发布自身的功能块,而其他应用程 序则可以使用已发布的功能块。基于这样的重用机制,用户就可以方便地替换平 台本身的各种应用程序组件,这在s y m b i a n 和w i n d o w sm o b i l e 平台中都是无法 想象的。虽然a n d r o i d 本身已在框架中提供了许多软件组件,不过这并不表示所 有的应用程序一定要调用a n d r o i d 所提供的组件,开发人员在开发a n d r o i d 平台 上的应用程序时,也可以开发新的软件组件,并将该软件组件放入a n d r o i d 的应 用程序框架中。 ( 3 ) 开发库( l i b r a r i e s ) a n d r o i d 包含一套c c + + 开发库,主要包括:l i b c 、m e d i af r a m e w o r k 、w e b k i t 、 s g l 、o p e n g le s 、f r e e t y p e 、s q l i t e 等。它们被应用于a n d r o i d 系统的各种组 件中。这些功能通过a n d r o i d 应用框架展现给开发人员。 ( 4 ) 运行时环境( a n d r o i dr u n t i m e ) a n d r o i d 虽然采用j a v a 程序语言来编写应用程序,但不使用j 2 m e 执行j a v a 程序,而是用a n d r o i d 自有的a n d r o i d 运行时环境。a n d r o i d 运行时包括核心库 北京邮电大学软件学院硕士论文 和d a l v i k 虚拟机两部分,如图2 2 所示,这两部分具体功能如下: 核心库包含两部分内容:一部分为绝大多数j a v a 程序语言所需要调用的功能 函数,另一部分为a n d r o i d 的核心库,如a n d r o i d o s 、a n d r o i d n e t 、a n d r o i d m e d i a 等。与标准j a v a 不一样是,每个a n d r o i d 应用程序都有一个自用的进程,a n d r o i d 不是用一个d a l v i k 虚拟机来同时执行多个a n d r o i d 应用程序,而是每个a n d r o i d 应用程序都用一个自有的d a l v i k 虚拟机来执行。 图2 - 2a n d r o i d 运行时 d a l v i k 是一种基于寄存器的j a v a 虚拟机。d a l v i k 虚拟机是专门为移动设备而 设计的,它在开发时就考虑到了用最少的内存资源来执行,以及支持前面提到的 同时执行多个虚拟机的特性。d a l v i k 虚拟机有许多地方参考了j a v a 虚拟机的设 计,不过d a l v i k 虚拟机所执行的中间码并非是j a v a 虚拟机所执行的j a v a 字节码, 但也不直接执行j a v a 的类文件,而是依靠转换工具d x 将j a v a 字节码转换为d e x 格式。 ( 5 ) l i n u x 内核( l i n u xk e r n e l ) a n d r o i d 的核心系统服务依赖于l i n u x2 6 内核,如安全性、内存管理、进程 管理、网络协议栈和驱动模型。l i n u x 内核也同时作为硬件和软件栈之间的抽象 层,使得应用程序开发人员无需关心硬件细节。 整体架构上来看,a n d r o i d 相比其它平台显示出了自身的特点,例如集成了 w e b k i t 浏览器、d a l v i k 虚拟机等模块、提供了开源的代码、可重用和可替换组 件的程序应用框架、s q l i t e 结构化的数据存储数据库等特点。 2 1 3a n d r o i d 媒体库 a n d r o i d 中多媒体架构是基于第三方p a c k e tv i d e o 公司的o p e n c o r ep l a t f o r m 来实现的。支持通用的音频、视频、静态图像格式c o d e c ( c o d e ra n dd e c o d e r ) 使 用o p e n m a x1li n t e r f a c e 接口进行扩展,可以方便得支持h a r d w a r e s o f t w a r e c o d e cp l u g - i n s 。 o p e nc o r e 多媒体框架有一套通用可扩展的接口针对第三方的多媒体编解码 器输入,输出设备等等。支持多媒体文件的播放下载( 包括3 g p p 、m p e g 4 、 a a c 和m p 3c o n t a i n e r s ) 、动态视频和静态图像的编码与解码,例如:m p e g 4 、, h 2 6 3a n da v c ( h 2 6 4 ) ,j p e g 、语音编码格式( 包括a m r n b 和a m r w b ) 、音 9 北京邮电大学软件学院硕士论文 乐编码格式( 包括m p 3 、a a c 、从c + ) 、视频和图像格式( 包括3 g p p 、m p e g 4 和j p e g ) 和基于h 3 2 4 - ms t a n d a r d 的视频会议。其框架图如图2 3 所示。 图2 - 3o p e nc o r e 框架图 图2 3 所示的o p e nc o r e 是a n d r o i d 多媒体框架的核心,所有a n d r o i d 平台 的音视频采集,播放等操作都是通过它来实现的。程序员可以通过o p e nc o r e 方 便快速地开发出想要的多媒体应用程序,例如:音视频的采集、回放、视频会议、 实时的流媒体播放等等应用。 a n d r o i d 平台自带的媒体播放器就是基于o p e nc o r e 框架开发而成的。 a n d r o i d 的m e d i a p l a y e r 包含了多媒体播放器的基本操作,如播放、暂停、停止、 设置音量等等,但其支持的媒体格式只局限于o p e nc o r e 中所支持的媒体格式。 并且能够解码的媒体格式种类和效率越来越不能满足人们日益增长的需求。 2 2f f m p e g 框架 2 2 1f f n l o e g 简介 音视频媒体数据的解码是媒体播放最复杂的实现部分,若全部重新开发会是 一个十分庞大的工程,目前市面上大部分播放器的解码模块都是基于f f m p e g 开 源代码实现的,例如暴风影音、k m pp l a y e r 和t c p m p 等播放器。本文也将采用 f f m p e g 的解码部分作为该播放器的解码模块。 f f m p e g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论