(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf_第1页
(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf_第2页
(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf_第3页
(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf_第4页
(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(信号与信息处理专业论文)嵌入式流媒体播放器的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 流媒体技术是应用于互联网上,支持音视频文件边下载边播放的网络传输技 术,为用户提供播放网络文件与播放本地文件相同的感受。因为音视频文件数据 量非常庞大,同时又要求具有很好的实时性,有限的网络带宽如何负担如此巨大 的传输任务是流媒体技术应用中需要解决的问题。这个问题的解决需要从多个角 度出发来相互配合、协调。从媒体的采集,压缩编码,到网络传输,客户端的接 收,解码,播放,最终的目的都是提供一定的码率下终端的最优播放质量。随着 流媒体业务的普及,对支持流媒体技术的嵌入式终端设备产生了巨大的市场需求。 本文在f r e e s c a l e 的m c f 5 3 2 9 e v b 平台上实现了带图形界面的流媒体客户端 程序。该应用程序建立在【c l i n u x 操作系统之上,采用模块化的方法进行设计。 包括流媒体协议栈模块,图形库模块,m p 3 解码库模块和应用模块。论文的主要 内容包括三个部分: 一是设计与实现流媒体协议栈。本文选择了l i v e m e d i a 开源库作为开发流媒 体协议栈的基础。l i v e m e d i a 开源库集成了r t s p ,r 1 m f r t c p 和s d p 协议,支持 多种媒体格式文件的流式传输。根据需要对l i v e m e d i a 开源库进行裁剪并移植到 目标平台上,同时对l i v e m e d i a 开源库提供的重要a p i 进行了测试。 二是设计与实现图形界面。本文选择了m i c r o w i n d o w s 作为图形库,f l n x 作 为g u i 工具集。该部分分析了m i c r o w i n d o w s 的工作机制与分层结构,将用户定 制设各整合到m i c r o w i n d o w s 的驱动层中;同时介绍了f l n x 的控件集与事件处 理模型,用f l u i d 工具设计图形界面。最后,将m i c r o w i n d o w s 与f 1 泓移植到 目标平台上,编译出可运行的播放器图形界面。 三是设计与实现应用模块。应用模块包括r t s p 远程点播功能,v c r 播放控 制功能和m p 3 解码回放功能。该部分内容包括了需求分析,总体框架设计,各功 能模块的详细设计,以及系统测试与改进方案。 关键词:流媒体, 图形界面,, c l i n u x , r t s p 远程点播,v c r 播放控制 a b s 臁a ( 了 s t r e a m i n gm e d i ai san e t w o r kt r a n s m i s s o nt e c h n i q u ew h i c he n s u r e st h a t t h e p r o c e s s e so ft r a n s m i t t i n g a n dp l a y i n ga u d i oo rv e d i oo ni n t e r n e tc a np r o c e e d c o n c u r r e n t l y i tc a ng i v eu s e rt h ee x p e r i e n c eo fp l a y i n gt h er e m o t em e d i aw h i c hi st h e s a m e 雒t h ee x p e r i e n c eo fp l a y i n gt h el o c a lm e d i a b e c a u s et h es i z eo fa u d i oo rv e d i o i sv e r yl a r g ea n dt h er e q u i r e m e n to fr e a l t i m ei sn e c e s s a r y , s t r e a m i n gm e d i ah a sa n i m p o r t a n tp r o b l e mn e e d e dt ob es o l v e dt h a ti sh o wt h el i m i t e db a n d w i d t ho fi n t e r a c t c a l ll o a ds oh u g et a s ko ft r a n s m i s s i o n f o rt h i sp r o b l e mw em u s tt h i n ka b o u ti tf r o m m a n yp o i n t s ,s u c h a s s a m p l i n g ,c o d i n g ,t r a n s m i t t i n g , d e c o d i n ga n dp l a y i n g t h e u l t i m a t ei n t e n t i o ni st h a tu s e rc a ng e tt h eb e s tp l a y i n ge x p e r i e n c eu n d e rs o m ef i x e d p e r f o r m a n c eo fn e t w o r k a ss t r e a m i n gm e d i ag e t s m o r ea n dm o r eu n i v e r s a l ,t h e e m b e d d e dd e v i c es u p p o r t i n gs t r e a m i n gm e d i ai sb e c o m i n gp o p u l a ri nt h em a r k e t t h i sp a p e rd i s c u s s e st h a tt h e s t r e a m i n gc l i e n tp l a y e rs y s t e mw h i c h h a sag r a p h i c i n t e r f a c ei sr e a l i z e do nm c f 5 3 2 9 e v bb o a r dw h i c hi sd e v e l o p e db yf r e e s c a l e c o m p a n y t h i ss y s t e mi sb u i l do np c l i n u xa n dd e s i g n e db yt h ew a yo fp a r t i t i o n i n gt h e w h o l es y s t e mt om a n ym o d u l e s t h e s em o d u l e si n c l u d es t r e a m i n gm e d i ap r o t o c o l s t a c km o d u l e ,g r a p h i cl i b r a r ym o d u l e ,r a p 3d e c o d i n gl i b r a r ym o d u l ea n da p p l i c a t i o n m o d u l e 。t h em a i nw o r kc o n s i s t so ft h r e ep a r t s : t h ef i r s ti sd e s i g n i n ga n dr e a l i z i n gs t r e a m i n gm e d i ap r o t o c o ls t a c k l i v e m e d i a w h i c hi sal i b r a r yo fo p e ns o u r c ei sc h o s e nt ob eab a s ef o r d e v e l o p i n gs t r e a m i n gm e d i a p r o t o c o ls t a c k r t s p , r t p k t c pa n ds d pp r o t o c o l sa r ei n t e g r a t e db yl i v e m e d i a , a n d t h es t r e a m i n gt r a n s m i s s i o no fm a n yt y p e so fm e d i ai ss u p p o r t e db yi t a c c o r d i n gt oo u r s y s t e m sd e m a n d ,l i v e m e d i ai sn e e d e dt ob ec u td o w na n dp o r t e dt ot h et a r g e tb o a r d m e a n w h i l e ,t h ea p i so fl i v e m e d i aa r et e s t e d t h es e c o n di sd e s i g n i n ga n dr e a l i z i n gg r a p h i ci n t e r f a c e m i c r o w i n d o w si sc h o s e n t ob eg r a p h i cl i b r a r ya n df l n xi sc h o s e nt ob cg u it o o l k i t t h i sp a r td i s c u s s e st h e p r i n c i p l ea n ds t r u c t u r eo fm i c r o w i n d o w s ,a n dt h em e t h o do fa d d i n gt h ed e v i c ed r i v e r s i n t ot h ed r i v e rl e v e lo fm i c r o w i n d o w s a tt h es a m et i m e ,t h i sp a r ta l s od i s c u s s e st h e t o o l k i t sa n de v e n tm o d e lo ff l n x , a n dd e s c r i b e sh o wt od e s i g ng r a p h i ci n t e r f a c eb y f l u i d i nt h ee n d ,m i c r o w i n d o w sa n df l n xa r cp o r t e dt ot h et a r g e tb o a r d ,a n da n e x c u t a b l e p r o g r i a m w h i c hh a sa g r a 删p h i c z i i l g i n t e r f a c e o f p 1 a y e r i s c 。o m p i a p l e d 幽“n m o d u i e t h el a s t1 s d e s i g n i n g u e s a t n i d n g :n z l n g a p p l i c a t i o n m o a u t e 。_ l t 二i j l 一| u 1 l 一。n :n 仃 i n c l u d e sr t s pr e m o t er e q u e s 血g f u n c t i o t e n n , t v 。c fr t h i c s o p n a t 呔r o i l n c l i n l g u d t e s u n f e c u q o u n i r , e m m p e j n t , - , a , - n , - a , , 1 y s i s 5 , , a n dp l a y i n gb a c kf u n c t i o n t h e m a i n c o n n 峪p 肌m “r 。 a r c h i t e c t u r ed e s i g n ,d e t a i l e dd e s i g n ,s y s t e m t e s ta n di m p r o v c m e n t k e y w 。r d s :s l r e a m i n gm e 蛾 缪a p h i ci a t e r f a p c l i n u x , r t s pr e n l o t er e q u e 瓯v c r c o n t r o l 1 1 1 图目录 图目录 图1 1 播放器软件体系结构图 图1 2 图1 3 图2 1 图2 2 图2 3 图3 1 图3 2 图3 3 m c f 5 3 2 9 硬件框图:5 m c f 5 3 2 9 e v b 实物图5 流式传输基本原理。8 流媒体实现原理1 0 l i n u x 和垡c l i n u x 的内存布局比较。1 5 m e d i u m 的子类。3 2 流媒体服务器程序一3 5 客户端测试程序步骤图。3 6 图3 4o p t i o n 的请求与响应 图3 5 图3 6 图3 7 图3 8 图3 9 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图5 1 3 6 d e s c r i b e 的请求与响应3 7 s d p 描述内容3 8 s e t u p 的请求与响应3 9 p l a y 的请求与响应。4 0 t e a r d o w n 的请求与响应4 0 图形库在系统中的位置4 2 m i c r o w i n d o w s 的客户朋及务器结构4 2 客户端事件接收流程4 4 获取事件函数流程4 4 客户端请求发送流程4 5 m i c r o w i n d o w s 的分层结构4 6 f l u i d 编辑界面5 2 f l u i d 生成代码流程5 2 播放器图形界面5 4 客户端模块框图5 6 图5 2 用户线程 图5 - 3 网络线程5 8 图5 4r t p r t c p 包的交互与处理6 0 图5 5 r t s p 远程点播实现原理6 2 图5 6 远程点播程序流程6 2 图5 7 r a p 3 解码流程7 0 图5 8 流媒体服务器程序7 1 图5 9 客户端程序运行于目标板之上7 2 图5 1 0 触摸屏上播放器界面特写7 2 v l 表目录 表2 1 表3 1 表3 2 表3 3 表5 1 表5 2 表目录 三种g u i 的比较1 1 r t p 首部“2 1 i p 基本报文类型: r t s p 方法:3 4 功能测试结果。 系统容错性测试结果7 3 v l l 缩略词表 英文缩写 v c r g u i f i ,t k f l u i d i u 下 r t c p r 髑p s d p u d p t c p i p a p i q o s m m u n f s v o d 0 s i u r l 缩略词表 英文全称 g r a p h i cu s e ri n t e r f a c e f a s tl i g h tt o o lk i t f a s tl i g h tu s e ri n t e r f a c ed e s i g n e r r e a l t i m et r a n s p o r tp r o t o c o l r e a l t i m et r a n s p o r tc o n t r o lp r o t o c o l r e a l t i m es t r e a m i n gp r o t o c o l s e s s i o nd e s c r i p t i o np r o t o c o l u s e rd a t a g r a mp r o t o c o l t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e r n e tp r o t o c o l a p p l i c a t i o np r o g r a m i n gi n t e r f a c e q u a l i t yo fs e r v i c e m e m o r ym a n a g e m e n tu n i t n e tf i l es y s t e m v i d e oo n d e m a n d 中文释义 盒式录放像机 图形用户界面 快速轻巧的工具箱 快速用户界面设计器 实时传输协议 实时传输控制协议 实时流协议 会话描述协议 用户数据报协议 传输控制协议 互联网络协议 应用编程接口 服务质量保证 存储器管理单元 网络文件系统 交互式电视点播系统 o p e ns y s t e mi n t e r c o n n e c t开放式系统互联参考模型 u n i f o r mr e s o u r c el o c a t o r 统一资源定位符 v i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: 堑二幽塾日期:凇p 年月2 z 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印j 缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:泠同司鸟 导师签名:移孓纠 日期:沙年j 月2 2 日 第一章引言 1 1 流媒体技术的发展动态 第一章引言 网络已经并将继续改变我们的生活方式。多媒体应用的环境正由桌面平台向 网络多媒体平台和简单智能终端相结合的方向演进,网络将成为无可比拟的超级 服务器。想要使用网络中的多媒体信息,就必须实现通过网络访问和传输这些信 息。流媒体技术正是在这种情况下应运而生。 流媒本技术试图直接从网络上得到平滑的数据流,而无须首先把多媒体数据 下载到本地终端。通常,将直接从网络上获得的平滑数据流的传输方式称为流式 传输。在采用流式传输的系统中,用户不必像采用下载方式那样等到整个文件全 部下载完毕,而只需经过几秒或十数秒的启动延时( 缓冲) 即可在用户的计算机 上对压缩的多媒体数据解压后进行回放。当音频、视频等媒体数据在客户终端上 播放时,数据的剩余部分将在后台从服务器继续下载。这种对多媒体数据边下载 边回放的方式不仅使启动延时成十倍、百倍地缩短,而且不需要本地终端有太大 的存储容量【1 】【2 】。 与传统的单纯的下载相比较,流媒体技术具有明显的优点: 1 由于不需要将全部数据下载,因此等待时间可以大大缩短。 2 由于流文件往往小于原始文件的数据量,并且用户也不需要将全部流文件 下载到硬盘,从而节省了大量的磁盘空间: 3 由于采用了r t p 、r t s p 等实时传输协议,更加适合动画、音视频在网上 的实时传输。 流媒体技术的发展依赖于网络的传输条件、媒体文件的传输控制、媒体文件 的编码压缩效率及客户端的解码等几个重要因素。其中任何一个因素都会影响流 媒体技术的发展和应用1 1 】【2 1 。不同于i p 网络的其他新业务,流媒体是网络和数字 媒体技术的整合,能够最大限度地发挥网络和数字媒体各自的长处,但也不可避 免地继承了网络和数字媒体的缺陷,例如i p 网络领域服务质量保证的缺乏、数字 媒体领域版权保护的失败等等。 当前,r r 产业界正在经历全球流媒体市场爆炸性的增长。i n t e r n e t 上已有超过 1 7 0 0 家广播电台和电视台实现了网上点播,世界上几大有影响的媒体,如b b c 、 电子科技大学硕士学位论文 c n n 、a b c 、n b c 等等,都在网上开通了自己的网上广播。国内的一些广播电台 和电视台,例如c c i n 、b t v 等,虽然已经在自己的网站上开始了试验性的音视 频点播,但其音视频点播系统平台无一例外采用的都是外国公司核心技术,并且 系统规模不大,安全性也没有保证,很难大规模开展这方面的业判1 】【2 j 。随着网络 宽带化的飞速发展,作为第四媒体的i n t e r n e t 必将超过另外三种媒体成为主流的信 息交换平台,对流媒体业务平台安全性的认识需要上升到国家安全的高度来认识, 独立自主开发安全可靠、具有自主知识产权的流媒体增值业务平台已经成为当务 之急。 另一方面,随着无线接入技术的日益成熟,流媒体业务无所不在,对流媒体 终端的便携性和移动性提出了要求。将流媒体技术应用到嵌入式平台,将是智能 终端发展中的一大必然趋势。 1 2 嵌入式流媒体播放器系统简介 1 2 1 设计目标 本文将在f r e e s c a l e 的m c f 5 3 2 9 e v b 硬件平台上实现流媒体播放器软件。本文 将从系统的角度出发,搭建起一个功能健全、性能稳定的流媒体播放器软件架构, 便于以后采用软件开发的演化模型对本文所设计的流媒体播放器作进一步的开 此 反。 本文的流媒体播放器软件设计目标如下: 1 为用户呈现简洁、友好的图形界面。 2 实现r t s p 远程点播,并带有暂停、快进、快退和停止等v c r 功能。 3 支持对m p 3 文件的流式传输和解码、播放。 4 播放音质平稳,无抖动。 5 系统性能稳定,容错性好。 另外,本系统设计过程中所需要的图形库、流媒体协议栈和操作系统都将选 用开源软件。一方面可以最大限度的降低开发成本;另一方面使用开源软件可以 根据系统的需求,比较方便的进行裁剪和优化,同时也有利于在二次开发时,向 其中添加新的功能模块。 1 2 2 软件体系结构 2 第一章引言 i u c l i n u x 操作系统 l 囤囤围+ 囤 图1 1 播放器软件体系结构图 正如大多数的嵌入式软件系统一样,本文所设计的嵌入式流媒体播放器软件 系统也采用分层设计的方法,分别为设备驱动层、操作系统层和应用软件层。三 个层次之间以操作系统为主轴,整合为一个统一的整体。首先,设备驱动程序直 接对外围硬件设备进行控制,它们对于操作系统的设备抽象层提供了具体的实现。 具体的外围设备成为了能够被操作系统管理的文件。操作系统为应用程序提供了 丰富的系统调用,为多进程,多线程任务的实现提供支持。同时,应用程序通过 对文件系统的系统调用,可以对具体的硬件设备进行控制。 本文的重点是应用软件层的设计与实现。应用软件层采用模块化的设计方法, 可以分为两个层次,一个是组件层,一个是功能层。组件层包含的组件有图形库, 流媒体协议栈和m p 3 音频解码库。 图形库采用的是m i c r o w i n d o w s 和f l n x 的组合。m i c r o w i n d o w s 是一个开放 源代码的嵌入式g u i 软件。针对m i c r o w i n d o w sg u i 引擎的f l t k ( f a s tl i g h tt o o l k i t ) 的l i n u x 版本被称为f l n x ,它能用来为嵌入式环境创建一个出色的u l 构建 器。f l t k 是一个简单灵活的g u i 工具箱,特别适用于占用资源很少的环境。它 提供大多数窗口构件,如按键、对话框、文本框、滑动器、滚动条以及刻度盘等 构件。可以认为f l n x 是m i c r o w i n d o w s a p i 的进一步封装,为了减小开发者开发 图形界面的难度。 流媒体协议栈是由r t s p 、r t p r t c p 、s d p 协议组成。流媒体协议栈是实现 流式传输的关键部分。r t s p 协议负责传输控制信息,r t p 瓜t c p 协议负责传输媒 3 电子科技大学硕士学位论文 体数据与控制媒体数据信道的服务质量( o o s ) 。s d p 协议负责描述传输媒体的具 体信息,但不参与传输。 m p 3 音频解码库为m p 3 音频解码模块的实现提供a p i 函数。 功能层利用组件层提供的接口与a p i 函数实现流媒体播放器的基本功能。根 据设计目标,需要实现的功能有r t s p 远程点播,远程v c r 控制,m p 3 文件解码 回放和简洁易用的图形界面。 1 3 课题来源和开发平台介绍 本文所设计的嵌入式流媒体播放器是f r e e s c a l e 大学计划课题研究的其中之 一。所采用的嵌入式处理器是c o l d f i r e 系列的m c f 5 3 2 9 。 m c f 5 3 2 9 集成的是c o l d f i r ev 3 的核,最高可达2 4 0 m h z 的时钟频率,4 级取 指流水线,1 6 k b 的指令数据c a c h e ,3 2 k b 的片上s r a m 。m c f 5 3 2 9 片内还集成 了l c d 控制器,s d r d d rs d r a m 控制器,s s i ( 同步串行接口,支持a c 9 7 和 i i s 格式) 控制器,1 6 通道的d m a 控制器,u s b 控制器,高速以太网控制器,实 时时钟和若干串行接口【引。另外,片外带有t i 的a d s 7 8 4 3 触摸屏控制器。开发板 的外围设备有键盘和触摸屏各一块。 m c f 5 3 2 9 的硬件框图1 3 】如图1 2 所示。 4 第一章引言 图1 2m c f 5 3 2 9 硬件框图 m c f 5 3 2 9 e v b 开发板实物图如图1 3 所示。 图1 - 3m c f 5 3 2 9 e v b 实物图 5 电子科技大学硕士学位论文 嵌入式系统的开发大致可以分为以下三大步骤: 1 硬件主板研制,测试; 2 操作系统选定,板级支持包( b s p ) 开发; 3 上层应用程序的开发 硬件主板的研制,测试已由f r e e s c a l e 完成。本文所选择的嵌入式操作系统是 z c l i n u x 。原因有三个方面,一是p c l i n u x 是开源操作系统;二是比c l i n u x 具有l i n u x 的大部分特征,能够开发出复杂的应用;三是m c f 5 3 2 9 没有m m u 单元,而t c l i n u x 是专门针对没有m m u 单元的处理器设计的。在硬件平台和操作系统都选定之后, 便是b s p 开发。b s p 开发处于整个嵌入式软件开发的前期,是应用程序能够正常 运行的保证。b s p 的开发过程不在本文讨论的范围之内。 后面的章节将在此软硬件平台之上,详细讨论应用软件层的开发过程。 6 第二章嵌入式流媒体播放器相关技术 第二章嵌入式流媒体播放器相关技术 2 1 流媒体技术 2 1 1 流媒体定义 流媒体是指在i n t c m e t f i n t r a n e t 中使用流式传输技术的连续时基媒体,如音频、 视频等多媒体文件。这个词首先出现在美国,英文是“s t r e a m i n gm e d i a ”,中文翻 译成“流媒体 1 1 i 。 流媒体把连续的影像和声音信息经过特殊的压缩方式分成一个个压缩包,由 流媒体服务器向用户计算机连续、实时地传送。让用户一边下载一边观看、收听, 而不需要等整个压缩文件下载到自己的机器后才可以观看【1 1 该技术首先在用户 端的计算机上创建一个缓冲区,预先下载多媒体文件的部分数据作为缓冲,播放 程序读取缓冲区内的数据进行播放。在播放的同时,用户计算机在后台继续下载 多媒体文件的剩余部分填充缓冲区。这样,当网络出现抖动( j i t t e r ) ,实际连线速 度小于播放消耗数据速度时,可以避免播放的中断,也使得播放质量得以维持。 所以流媒体最显著的特征是“边下载、边播放”。 与传统多媒体相比,流媒体具有以下优点: 1 启动延迟大幅度地缩短 用户不用等待所有内容下载到硬盘上才开始浏览。一般来说,一个4 5 分钟的 影片片断在1 分钟以内就能够显示在客户端上,而且在播放过程中一般不会出现 断续的情况。 2 对系统缓存容量的需求大大降低 由于i n t e r a c t 是以包传输为基础进行断续的异步传输,数据被分解成许多包 进行传输,动态变化的网络使各个包可能选择不同的路由,故到达用户计算机的 时间延迟也就不同。所以,在客户端需要缓存系统来弥补延迟和抖动的影响以及 保证数据包传输顺序的正确,使媒体数据能连续输出,不会因网络暂时拥堵而使 播放出现停顿。虽然流式传输仍需要缓存,但由于不需要把多媒体文件所有的音 视频内容都下载到缓存中,因此,对缓存的要求大大降低了。 3 流式传输的实现有特定的实时传输协议 7 电子科技大学硕士学位论文 采用r t s p 等实时传输协议,更加适合音视频在网上的流式实时传输。 流媒体技术是网络音视频发展到一定阶段的产物,是一种解决多媒体播放时 网络带宽问题的“软技术 。流媒体技术并不是单一的技术,它是融合了很多网络 技术之后产生的技术。它涉及到流媒体数据的采集、压缩、存储、传输以及网络 通讯等多项技术。实现流媒体技术的关键技术是流式传输。 2 1 。2 流式传输 i n t e r n e t 以包传输为基础进行断续的异步传输,实时a 源或者存储的a v 文件在传输中被分解为许多i p 包,由于网络是动态变化的,各个包选择的路由不 尽相同,故到达客户端的时间延迟也不等,甚至先发的数据包有可能后到。为此, 使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体 数据能连续输出,不会因网络暂时拥塞使播放出现停顿。通常高速缓存所需容量 不大,因为高速缓存可以采用环形链表结构来存储数据,通过丢弃已经播放的内 容,可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。 流式传输的实现需要合适的传输协议。w w w 技术是以h q t p 为基础的,而 h 1 曙又建立在t c p 基础之上。由于t c p 需要较多的开销,故不太适合传输实时 数据。在流式传输的实现方案中,一般采用h t r p 肿p 来传输控制信息,而用 r t p u d p 来传输实时流媒体数据。 流式传输的过程一般是这样的:用户选择某一流媒体服务后,w e b 浏览器与 w e b 服务器之间使用h t i p t c p 交换控制信息,以便把需要传输的实时数据从原 始信息中检索出来;然后客户机上的w e b 浏览器启动流媒体播放程序,使用h 1 t p 从w e b 服务器检索相关参数对流媒体播放程序初始化。流式传输的过程可见图2 1 所示。 图2 1 流式传输基本原理 在流式传输中,使用r t p u d p 和r t s p q c p 两种不同的通信协议与流媒体服 8 第二章嵌入式流媒体播放器相关技术 务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行流媒体播放 程序所在客户机的目的地址。 实现流式传输有两种方法:实时流式( r e a l t i m es t r e a m i n g ) 传输和顺序流式 ( p r o g r e s s i v es t r e a m i n g ) 传输。 顺序流式传输是顺序下载,用户可以观看在线媒体。但是在给定时刻,用户 只能观看已下载的那部分,而不能跳到未下载的前序部分,不能根据用户的连接 速度做调整。由于标准的h 1 曙服务器可发送这种形式的文件,而不需要其他特 殊协议,所以经常被称作h t r p 流式传输。 顺序流式传输方式适合高质量的短片段,如片头、片尾和广告,由于文件在 播放前观看的部分是无损下载的,所以这种方式能保证影片的最终播放质量。顺 序流式文件放在标准唧或肿服务器上,易于管理,基本上与防火墙无关。 顺序流式传输不适合长片段和有随机访问需求的视频、讲座、演说与演示,也不 支持现场广播。严格地说,顺序流式传输是一种点播技术。 实时流式传输指保证媒体信号带宽与网络连接相匹配,使媒体可以被实时地 观看。实时流与唧流式传输不同,需要专用的流媒体服务器与传输协议。实 时流式传输是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后 退以观看前面或后面的内容。 从视频质量上讲,实时流式传输必须匹配连接带宽,由于出错丢失的信息被 忽略掉,网络拥挤或出现问题时,视频质量会很差。如欲保证视频质量,顺序流 式传输更好。实时流式传输需要特定服务器,如q u i c k t i m es t r e a m i n gs e r v e r ,r e a l s e r v e r 与w i n d o w sm e d i as e r v e r ,这些服务器允许对媒体发送进行更多级别的控 制,因而系统设置、管理比标准唧服务器更复杂。 实时流式传输还需要特殊网络协议,如:r t s p ( r e a lt u n es t r e a m i n gp r o t o c 0 1 ) a 这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。 2 1 3 流媒体实现原理 流媒体实现原理简单地说,就是通过采用高效的压缩算法,在降低文件大小 的同时伴随质量的损失,让原有的庞大的多媒体数据适合流式传输。然后通过架 设流媒体服务器,利用各种实时协议传输流数据。流媒体实现原理如图2 2 所示。 9 电子科技大学硕士学位论文 原始 编码器流式传输 图2 2 流媒体实现原理 多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽相 对多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是采 用先进高效的压缩算法;二是加入一些附加信息把压缩媒体转为适合流式传输的 文件格式。其技巧在于压缩原始的a 内容,使其能够在窄带或宽带通道上以流 的方式传给用户。预处理在编码器内完成,编码方式的选择可以是多种多样的。 编码过程是一种艺术,应该考虑不同编码速度的定制性能、包损失的容错性 与网络的带宽波动、最低速度下好的a 品质、编码流式传送的成本、流的控制 以及其他方面。 2 2 嵌入式图形界面 嵌入式图形界面与存储安全、嵌入式j a v a 虚拟机并称为嵌入式系统中的三 大关键技术【4 】。在嵌入式应用领域,伴随着硬件技术的发展,传统意义上的人机 交互界面正趋于淡化,取而代之的是具有友好人机交互支持的嵌入式图形界面。 嵌入式计算机系统以其关键部件的高性能、低价格等优势为嵌入式g u i 的发 展奠定了坚实的市场和技术基础;而基于l i n u x 开放源代码、遵循不同授权条款 的诸多嵌入式g u i 软件及其自由开发者,又对推进嵌入式g u i 的应用进程起到 推波助澜的作用,如m i c r o w i n d o w s 、m i n i g u i 及q t e m b e d d e d 等1 4 j 。 2 2 1m i c r o w i n d o w s m i c m w i n d o w s 是一个开放源码的嵌入式g u i 软件,目的是把图形视窗环境引入 到运行l i n u x 的小型设备和平台上。作为xw i n d o w 系统的替代品,m i c r o w i n d o w s 可以用更少的r a m 和文件存储空间( 1 0 0 l ( b 6 0 0 l ) 提供相似的功能,允许设 计者轻松加入各种显示设备、鼠标、触摸屏和键盘等:可移植性非常好,可用c 语 言实现;支持i n t e l1 6 位3 2 位c p u 、m i p sr 4 0 0 0 以及基于a r m 内核的处理器芯片。 由于和微软的w i n d o w s 注册商标存在冲突,从2 0 0 5 年月起,m i c m w i n d o w s 改名为 n a 【n o - x 【5 】【6 】。 1 n 第二章嵌入式流媒体播放器相关技术 2 2 2m i n i g u i m i n i g u i 是我国国内自主开发、比较成熟的一个图形用户界面系统,面向基于 l i n u x 的实时嵌入式系统,使用现有成熟的图形引擎,采用类似w i n c e 的线程机制 ( 目前m i n i g u il i t e 版本改用微客户端月艮务器模式来提供对多进程的支持) ,集成 了多字体和多字符集,支持硬件加速能力,充分使用显示内存【4 】1 7 l 。 2 2 3q t e m b e d d e d q t e m b e d d e d 是著名的q t 库开发商t r o l l t e c h 开发的基于f r a m e b u f f e r 、面向嵌 入式系统的q t 版本。它的特点主要有界面美观、色彩配比好,使用与q t 侧i n d o w s 和q t x 1 1 完全一致的a p i 接口,许多基于q t 的程序可以非常方便地移植到嵌入式 系统;同时它具有丰富的模块,用户可以根据需要选择q 班m b e d d e d 的特性集合。 q t o p i a 是t r o l l t e c h 专门为嵌入式l i n u x 设备所定制终端用户平台,它包括- j q t o p i a 库和q t o p i a 的服务器及客户端应用程序7 1 。 2 2 4 三种嵌入式g u i 软件的比较 出于成本、体积、功耗、可靠性方面的严格要求,嵌入式系统对嵌入式g u i 有如下要求:轻量级、占用系统资源少;性能高,友好的人机互动;可靠性高; 模块架构,配置灵活,便于移植。 将三种流行的嵌入式g u i 图形系统作了一个多方面的比较【7 】【8 1 ,如表2 1 所示: 表2 1 三种g u i 的比较 g u i 符拦 m i n i g u i q t e m b e d d e d m i c r o w i n d o w s a p i w i n 3 2 风格q t ( c + + )x 、w i n 3 2 子集 函数库大小5 0 0 k1 5 m 6 0 0 k 较好( 但函数库 可移植性好本身的交叉编译很好 较难) 使用u n i c o d e , 但效率较低,对 多语种支持很好好 中文字体支持几 乎没有 系统资源消耗小最大( c + + 实现)较小 操作系统支持 l i n u xl i n u xl i n u x 、e l k s 、 电子科技大学硕士学位论文 g u i 痔烂, m i n i g u i q t e m b e d d e dm i c r o w i n d o w s a p i w i n 3 2 风格q t ( c + + )x 、w i n 3 2 子集 函数库大小5 0 0 k1 5 m6 0 0 k x 8 6 、a r m 、 x 8 6 、a r m 、 硬件平台支持x 8 6 、a r m m i p s 、p o w e r p c 、 m 口s 、p o w e r p c s p a r c 由于在可移植性和系统资源消耗方面的出色表现,最终选择 m i c r o w i n d o w s 作为流媒体播放器的图形系统。 2 3 c l i n u x 上的应用程序设计 p c l i n u x 是一个完全符合g n u g p l 公约的项目,完全开放代码,现由l i n e o 公司支持维护。英文单词中表示m i c r o ,小的意思,c 表示c o n t r o l ,控制的意 思,所以m c l i n u x 就是m i c r o c o n t r 0 1 l i n u x ,字面上的理解就是“微控制领域中的 l i n u x 系统”1 1 3 j 。它专门针对没有m m u 的c p u ,并专为嵌入式系统做了许多小 型化的工作,官方主页在h t t p :w w w u c l i n u x o r g 。

温馨提示

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

评论

0/150

提交评论