




已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)流媒体中间件的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流媒体中间件的研究与实现 摘要 流媒体是在网络中使用流式传输技术的连续时基音视频信息。由于流媒体技 术的广泛应用,流媒体中间件必将成为信息技术开发的新的热点。它为开发人员 提供节点间的互联互操作,使得开发人员不需要面对底层网络的传输和控制;同 时,又对流媒体的开发提供直接的支持,如采集、处理、回放等。综合来讲,流 媒体中间件的设计必须要能够为分布式多媒体应用提供采集、处理、传输、控制、 播放等功能框架结构以及相关的系统服务,如流式协议。 本文首先简要地分析了中间件的要素,流媒体的核心技术以及流媒体中间件 的参考标准。并全面深入的分析了d i r e c t s h o w 的框架组成,运行机理。并针对 d i r e c t s h o w 的不足,阐明了流媒体中间件的设计思想,设计并实现了流媒体中间 件的框架结构与系统服务的流式协议r t p ,r t c p 。 本文设计并实现了一个流媒体中间件,此流媒体中间件从架构上分为两大部 分:基础框架和系统服务。基础框架提供媒体的采集、处理、传输、控制、回放 等五大功能。d i r e c t s h o w 是一个成熟的多媒体开发框架,提供对多媒体采集、处 理、回放的优秀支持。但在媒体传输、控制信息传输以及分布式组件的控制上都 缺乏支持。本文通过对微软的多媒体开发框架d i r e c t s h o w 在传输与控制方面的 功能扩展,实现了一个网络流媒体应用中间件。 该中间件增加一个网络过滤器n e t f i l t e r ,完成节点间的媒体数据传输和控制 信息传输。节点间的控制利用c o m 分布式组件技术以及w 曲s e n r i c e 思想,组 件间通信方式采用沮斗s 0 c k e t 的方式。 系统服务的实现基于r t p r t c p 协议。r 1 1 p 为媒体流提供了时间戳和序列号 信息,这对于应用层帧处理,如组帧、回放都是很重要的。r t c p 提供了多种报 告,其中发送者接收者报告提供了包发送的反馈信息。这对于q o s 控制是很关 键的。 关键字:流媒体,中间件,流媒体中间件,d i r e c t s h o w ,r t p r t c p a b s t r a c t t h es t r e 锄i n gm e d i ai st i m e dv i d e oi n f o m a t i o nt h a ti st r a l l s i i l i 慨d 血n e t w o r kb y s t r e a m i n gt e c l l l l 0 1 0 9y w i 也s t r e a m i n gm e d i at e c h n 0 1 0 9 y 印p l i e dw i d e l y ,s t r e a m i n g m e d i am i d d l e w a r es h o u l db e c o m ean e wa i l dh o tp o i mi ni 1 1 f o n n a t i o nt e c h n o l o g y d e v e l o p m e n t ,w h i c hp r o v i d e si n t e 卜c o r l e c t i o na n dn e r - o p e r a t i o nf b rd e v e l o p e ra n d m a k c sd c v e l o p e r sn o tf b c u so nt h et r a n s m i s s i o no fn e t 、o r ka n dc o 曲o l ,a l s o ,w l l i c h p r o 、r i d e sd i r e c ts u p p o r t ,s u c ha sc 0 1 1 e c d o n ,p r o c e s s i r 培,p l a y b a c ki naw o r d ,m e d e s i 弘s t r e 锄i n g m e d i am i d d l e w a r e 蛐l s tp r o v i d e 丘锄e w o r ko fc o l l e c t i o n , p r o c e s s i n g ,仃a n s m i s s i o n ,c o n n 0 l ,觚dp l a y b a c ka n dr e l a t e ds y s t e ms e r v i c e s ,s u c ha s s 讹a i i l i n gp m t o c o lf o rd i s 订i b u t e dm l l l t i m e d i aa p p l i c a t i o n s f i r s t l y ,t h i s 也e s i sa n a i y z e se l e m e n t so fm i d m e w a r ei n 蜥e t e c l l n o l o g yo f s 吐e a m m gm e d i a ,r e f e r e n c es t a n d a r d sf o rs 仃e a m m gm e d i am i d d l e w a r e w h a t sm o r e , t h ec o m p o s i t i o no fm ed i r e c t s h o w 缸e w o r ka n d 也eo p 咖啦m e c h 撕s m si s a i l a l y z e dc o m p r e h 钮s i v e l y a i m e da t 也em a d e q u a t ed i r e c t s h o w s 蛐i n gm e d i a m i 棚e w a r ei sc l a r i n e d ,d e s i 弘a n dr e a l i z a t i o no f a 丘锄e w o r ka 1 1 ds t r e 锄m gp r o t o c o l r t p r t c pi ns y s t e ms e r v i c e s b i i l gd e s i g n e da n dr e a l i z e dt h es n _ e a i n i n gm e d i am i d d l e w a r ec o n s i s t so f 咖 m a i l lp a r t s :b a s i c 丘锄e w o r ka 芏l ds y s t e ms e r v i c e s t h ef o n n c rs u p p l i e st 1 1 em e d i a g a 也e r i n g ,p r o c e s s i n g ,仃;a l l s m i s s i o n ,c o n t m l ,a n dp l a y b a c k ,f i v em 萄o rf 咖c t i o l l s d i r e c t s h o wi sam a t u r em u m m e d i ad e v e l o p m e n t e w o r kw m c ho f r e r sh e o 劬 t 姐d i n gs u p p o ni nm u l 6 _ m e d i ac o l l e c t i o n ,p r o c e s s i n g ,p l a y b a c k b u tl a c ko f s u p p o ni nt l l em e d i a 咖s m i s s i o n ,锄dc o n t r 0 1n l e 仃a i l s i n j s s i o no fi n f 0 棚n a t i o na n d c o n 廿o l0 fd i s t r i b u t e dc o m p o n e n t s b yf l l i l c t i o ne x p a n s i o no fm i c r o s o rd i r e c t s h o w f h m e 、v o r ki l lm e 砌l 血n e d i a 忱眦s m i s s i o na i l dc 咖l ,an e t 、v o r ks t i 它砌n gm e d i a 印p l i c a 廿o n sm i d d l e w a r ei sr e a l i z e d t h sm i d d l e ,a r ea d dan e 铆o r kf i l t e rn 锄e dn e t f i l t e r ,w h i c hc o m p i e t e sm e d i a 栅l s i n i s s i o na 1 1 dc o m m li n f o m l a t i o nb e t w e e nn o d e s c 锄lb e t w e e n o d e su s e s c o md i s 砸b u t e dc o i n p o n e n t sa i l dw 曲s e n ,i c e t e c h n o l o g y ,c o m m l m i c a t i o nb e t w e e n c o m p o n e n t sa d o p t sx m l + s o c k e 。i : 1 1 1 er e a l i z a t i o no fs y s 雠ls e i c e su s e dr t p r t c pp m t o c o l _ r t pp r 州d e s t i m e s 协m pa n ds e q u e n c eo fm e s s a g e st om e d i as t r e 锄i n g ,w i l i c hi sv e r yi m p o r t a n t t 0 行a m ep r o c e s s i n go na p p l i c a t i o n1 a y e r ,s u c ha s 曲m m g ,p l a y b a c k r t c pp m 、,i d e s m l l l t i r c p o r t ,i n c l u d i n g 吐l es e n d e rr 印o r ta n dr e c e i v e rr 印o r tm a tp r o v i d e si b m l a t i o n o f s e tp a c k a g e ,、砌c hi sv e r yc r i t i c a lt oq o s k e y w o r d s :s t r e 锄啦 m e d i a , m i d d l e w a r e ,s t r e 锄啦 m e d i a 廿l i d d l e w a r e , d j r e c t s b o w ,r t p r t c p i i i 郑重声明 本人的学位论文是在导师指导下独立撰写并完成的,学位论文没有剽窃、抄 袭等违反学术道德、学术规范的侵权行为,否则,本人愿意承担由此产生的一切 法律责任和法律后果,特此郑重声明。 学位论文作者( 签名) ; 谚睁 日 郑州大学硕士毕业论文 第1 章概述 1 1 课题背景及其意义 随着科学技术的发展,特别是通信网个人化的发展,人们希望能更有效地超 越时空的限制,更有效地工作及从事各种社会活动,这便要求把多媒体的集成性、 计算机的交互性及通信的广泛性结合起来,构成一些新的应用领域,如远程实时 会议、计算机协同工作环境、电子邮件及报刊发行、家庭信息服务和娱乐等等。 能够在这些应用领域中把各种媒体信息的处理、传输、管理统一控制起来,进行 有效的协调运行的技术,便称为分布式多媒体信息技术。分布式多媒体信息系统 既要能支持静态媒体,又要能支持各种动态媒体。动态媒体不仅在实时性以及与 其他媒体的同步性方面要求严格,而且还要考虑新媒体类型的增加等因素。分布 式多媒体信息系统要能支持不同的信息处理阶段。信息处理阶段的划分随信息类 型而变,人们会面临处于不同处理阶段中的不同信息类型,因此不仅需要解决处 理阶段的转换,还需要解决信息类型的配合等问题。分布式多媒体 1 】信息系统应 支持多种信息组合。在许多情况下,多媒体信息往往需要组合才能用于表现,这 种组合包括媒体类型说明和结构集成两个方面,特别是结构将用于对信息进行分 解,以便于管理和分布式处理。 分布式处理主要有两类,即异步分布式交互和同步分布式交互。前者比较简 单,如电子邮件,因不需要实时处理,所以只要存储转发即可。而后者比较复杂, 这是由于用户或系统分散在许多地方,又需要实时操作,所以对网络的带宽要求 很高,并且在通信过程中对系统的控制和协调能力,以及多媒体环境等问题的要 求也很严格。如远程多媒体会议系统,其声音、图表、数据、视频图像等媒体信 息的传输、处理、控制和协调比较复杂。 而流媒体中间件 2 】也在分布式多媒体发展的过程中应运而生了,流媒体中间 件从本质上讲,就是应用于分布式多媒体,它提供一个标准的框架,使得不同厂 家的软件通过不同的地址空间、网络和操作系统进行交互访问。同时,通过设计 流媒体中间件,应用流媒体中间件提供的基础框架和系统服务,可以大幅度的减 少重复开发,使得软件开发人员可以在应用本身上投入更多的资源,而不是浪费 郑州大学硕士毕业论文 在重复开发上。 1 2 流媒体中间件的国内外研究状况 在学术界有很对人对流媒体中间件做了大量的研究,如i t u ”1 的r m 0 d p , i s 0 的p i m o 都提供了关于流媒体中间件的标准。但是这些都是比较抽象的架 构级的规范,没有形成工业标准。但是目前的流媒体中间件都或多或少的参考了 这些标准规范。如基于c o r b a 【3 扩展而来的t o a s t ( t 0 0 l k i tf o ro p e na d a p t i v e s 仃e a m i l l gt c c h n 0 1 0 西e s ) ;l i l l u ) 【平台上的一个成熟的开放源码n m m 嘲 ( n e t w o r k i n t e g r a 把dm 珂t i m e d i am i d d l e w a r e ) 等。 1 2 1i t u 的r m o d p r m 0 d p 为开放分布式处理提供了一系列的概念和规则,为开发分布式系 统定义了一个基本体系结构,并从不同的角度来描述开放分布式处理系统以及永 远下层支持的模型等相关概念。 r m o d p 是分布式处理的“元标准”,很多现有的中间件规范都继承了它的 理念,如c 0 r b a 和d c o m 。r m o d p 不是针对多媒体,但提供了相应的语义 支持,特别是连续媒体交互( c o 而n u o u s 姐e d i ai i l t e r a c t i o n ) 的概念。目前大多数 的流媒体中间件都或多或少的参照了这个标准。 r m o d p 的5 个观点中,计算视点与工程视点是我们关心的内容。计算视 点是将一个逻辑上完整系统划分为互连互操作的一组对象。对象间通过接口交 互。抽象模型,通过这个模型分布式对象能够以一种连续媒体的方式进行交互。 它定义了三个基础的但强大的概念:对象,流接口,绑定: ( 1 ) 对象( 0 b j e c t ) 一个对象可以支持三种不同类型的接口1 4 】:操作接口( o p e m t i o ni n t e r f a c e ) ,流 接口( n o w i n t e r f l a c e ) ,信号接口( s i 鲫l 如t e r f 如e ) 。操作接口描述了这个接口支持的 一组操作以及接口的角色是c l i e n t 还是s e e r ;流接口定义了一个流程集以及接 口的角色是制造者还是消费者;信号接口定义了一个信号集以及接口的角色是发 起者还是响应者。 郑州大学硕士毕业论文 ( 2 ) 流接口( s 扛e a mi m e r f k e ) 如上所述,流接口定义了一个流程集以及接口的角色是制造者还是消费者。 一个流程是用来抽象一组连续的交互,交互结果使得信息从信息源传输到目的 地。流程常用来表示连续媒体交互。这样单个的连续媒体流就可以被一个流接口 以流程的方式制造出来而被另外一个流接口消费。 ( 3 ) 绑定( b i n d i n g ) 接口间的互操作只有当它们被绑定( b i n d i n g ) 时才是可行的。一个绑定包括 了通信路径的创建、维护和使用。 绑定又分为显示和隐式。显示绑定要求一个绑定过程来创建通信路径,而隐 式绑定允许在未定义或默认的路径上通信。隐式绑定只定义在操作接口中,流接 口必须通过显示绑定。 1 2 2i s o 的p r e m o i s o 的多媒体对象的显示环境p r e m o ( p r e s e n t a t i o ne n v i r o n m e n tf o r m u l t i m e d i ao b j e c t ) ,是i s o 的流媒体中间件标准。与r m o d p 一样,它是一个 规范描述,没有提供实现方法。 ( 1 ) 基本概念 描述了基本的对象模型。p r e m o 的对象模型与其他组件技术意义是接口与 实现独立的模式。接口用于描述控制交互和流交互。基础组件和服务包括如回调, 事件,时钟,同步,控制器,简单p r e m 0 对象,高级p r e m o 对象等组件和服 务、建模,显示和交互组件描述一些用于高级应用的组件。 ( 2 ) 多媒体系统服务 多媒体系统服务( m u i t 劬e d i as y s t 锄s e r v i c e ,简称m s s ) 是p r e m o 的核心。 m s s 定义了一个中间件以支持异构分布式环境下的多媒体应用。基本上m s s 提 供以下支持: 分布式环境下对象的注册和激活 媒体处理节点的类型抽象 邦州大学硕士毕业论文 媒体处理节点间连接的类型抽象 媒体格式与媒体数据流抽象的分离 定义了支持媒体无关的传输与同步的媒体流协议 支持同步异常和异步事件 支持多种处理节点的分组 m s s 的基本架构与r m o d p 的计算视点类似,也包含三个基础的概念: 虚拟设备,端口,虚拟连接。大致对应于r m o d p 的对象,流接口,绑定对象。 其结果如图1 1 所示: 1 3 本文所做工作 图1 - 1 m s s 架构 ( 1 ) 本文所做工作是研究并设计一个流媒体中间件,解决分布式多媒体系统中的组 件间互联互操作的问题。现将多媒体系统分解为五个部分:采集、处理、传输、控制和 播放。我们将在d i r e c t s h o w 7 1 基础上,将其扩展成一个流媒体中间件,提供多媒体系统 的基本功能部分和一些系统服务。使得我们能够基于c o m 嘲组件开发模式,通过简单 的部署方式,利用该中间件对流媒体的一级支持,大大的简化分布式多媒体应用的开发 和部署。 ( 2 ) 本文另外一个意义在于将标准的框架思想应用于中间件的设计当中,阐明了标 准的意义。 4 郑州大学硕士毕业论文 ( 3 ) 设计并实现了流式传输协议r t p 脚c p 9 】协议,对q o s 的控制有非常重要的 作用。 1 4 本文章节安排 论文结构安排为: 第一章概述:主要讲述了选题的背景及其意义,以及在流媒体中间件的研 究与设计方面所做的工作做个综述。 第二章流媒体和中间件:介绍了流媒体的关键技术以及中间件的相关概念, 并介绍了流媒体中间件的基本构成。 第三章d i r e c t s h o w 技术:深入分析了d i r e c t s h o w 的架构设计及其工作原理, 为 第四章流媒体中间件结构研究:利用现有的较成熟的d i r e c t s h o w 架构,将 其扩展成一个流媒体中间件,提供基础框架和系统服务。 第五章流媒体中间件实现:设计并实现了流媒体中间件的基础架构和流式 协议r t m c p 。 第六章结束语与未来展望:总结将d i r e c t s h o w 扩展成流媒体中间件所存在 的问题及其解决方案,并且对下一步的工作进行展望。 郑卅l 大学硕士毕业论文 第2 章流媒体和中间件 2 1 中间件的概述 2 1 1 中间件的概念 中间件【1 1 1 的定义比较多,大多是从一个特殊的角度来反映中间件的一个或者 几个特性。更多的人认为中间件就是处于操作系统和应用程序之间的一个软件 层,它向各个应用软件提供服务,使不同的应用进程能在屏蔽平台的差异的情况 下相互通信。另外存在一个更加广泛的定义,认为中间件从本质上讲,就是一个 连接应用程序并允许他们之间相互交换数据的软件层。通常,人们在使用中间件 时,往往是一组中间件集成在一起,构成一个平台( 包括开发平台和运行平台) , 但这在中间件中必需要有一个通信中间件,因此,中间件= 平台+ 通信。这种定 义方式也限定了只有用于分布式系统中成才能为中间件,同时还可以把它与支撑 软件和实用软件区分开来。中间件的示意图如2 1 所示: 2 1 2 中间件的作用 图2 - 1 中间件示意图 中间件的定义反映了中间件的桥梁作用,同时中间件还有下面的一些重要的 作用: 首先,中间件极大的简化了设计和开发的过程。协同计算要求各个应用之间 郑州大学硕士毕业论文 要进行数据通信。采用中间件可以使他们之间的接口得到很大程度上的减少,中 间件将原来为m 个应用开发n 种功能时需要做( m n ) 个接口简化为( m + n ) 个接口。即:为m 个应用做m 个同中间件的接口,另外将n 个功能做n 个同中 间件的接口所以共做了( m + n ) 个接口。当然这在m 和n 都非常小的时候是看 不出中间件的优势的,但当m 和n 都很大的时候其优势就凸现出来了。 其次,中间件可以从一个应用中获得数据并保存该数据直到没有使用价值为 止。这就使得数据的生存期得到了保证,而且由于中间件对数据的专门处理使得 数据能发挥最大的功效。 最后,也就是最重要的一点,就是中间件可以帮助不同的软件开发人员集中 精力做好有针对性的软件开发,而不需要让他们更多的考虑操作系统平台和底层 通信设施对应用的影响。 总之,中间件可以使用户透明的应用分布式的计算机、网络、数据等资源, 发展了更有效的协同和交互性的技术。 2 1 3 中间件的分类 在分布式系统中,要怎么规划和分类中间件呢? 它主要包括如下几种,我们 做个比方来说明各个中间件的含义,如果把把分布式系统看作郑州市区的交通系 统,网络看作市区马路,通过交通工具实现通信,每分钟将有几万辆车在马路上 行驶,那么接下来将说明不同的中间件对网络的不同作用: ( 1 ) 通信处理( 消息) 中间件 首先要修好马路,安装红绿灯,设立交通管理机构,制定出交通规则,也就 是我们要建网和制定出通信协议,能在不同平台之间通信,实现分布式系统中可 靠的、高效的、实时的跨平台数据传输( 如t 0 n g l i n k 、b e a & l i i l k 、m m 的 m q s e r i e s 等) ,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大 的中间件产品,目前在w i l l 2 0 0 0 系统中已包含了其部分功能。 ( 2 ) 事务处理( 交易) 中间件 例如,在联机事务处理系统( o u p ) 中,每笔事务常常要多台服务器上的 程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要 1 塑型查堂婴圭兰些堡兰 自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多 台应用服务器上能实时并发运行,并进行负载平衡地调度,实现高昂的可靠性机 和大型计算机系统等的功能,为了实现这个目标,要求系统具有监视和调度整个 系统的功能。 一个事务处理平台,根据) ( o p e n 的参数模型规定,应由事务处理中间件、 通信处理中间件以及数据存储管理中间件三部分组成。 ( 3 ) 数据存储管理中间件 在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系 型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放 的,该中间件将为在网络中虚拟缓存、格式转换、解压带来方便。 ( 4 ) w 曲服务器中间件 浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能进行数据 写入、受h t t p 协议的限制等,必须进行修改和扩充,这就形成了w 曲服务器 中间件。 ( 5 ) 安全中间件 一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用 国外提供的安全措施( 如防火墙、加密、认证等) ,必须使用国产的产品。产生 不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的 要求。 ( 6 ) 跨平台和构架中间件 当前开发大型应用软件通常采用基于构架和构件技术,在分布系统中,还需 要集成各节点上的不同系统平台的构建或新老版本的构件,由此产生了构架中间 件,功能最强的是c o r b a ,可以跨任意平台,但是太庞大;j a v ab e a n 较灵活简 单,很适合于做浏览器,但运行效率差;d c o m 模型主要适合w i n d o w s 平台, 已广泛使用。 ( 7 ) 专用平台中间件 为特定应用领域设计参考模式,建立相应构架,配置相应的构件库和中间件, r 郑州大学硕士毕业论文 为应用服务器开发和运行特定领域的关键任务( 如电子商务、网站等) 。 ( 8 ) 网络中间件 它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的 研发项目。 2 2 流媒体 2 2 1 流媒体的基本概念 流媒体【1 3 】即流式媒体,指在h l t e m e f i n 订a l l e t 中使用流式传输技术的连续时基 媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不需要整个文件,只 需要将开始部分内容存入内存,流媒体的数据流随时传送随时播放,只是在开始 时有一些延迟。近年来随着宽带网的兴起而诞生的流媒体或媒体的( s t r e 锄i n g m e d i a ) 化技术呈现一种快速发展的趋势。人们不再满足在信息告诉公路中仅有文 本、图像和声音,而希望得到声、文、图以及视频流媒体信息。因此多媒体信息 在网络信息的传输与应用中占有越来越重要的地位。作为多媒体和网络领域的交 叉学科,流媒体技术为多媒体信息提供了一条崭新的应用途径。以音频和视频信 息为例,传统的应用需要先下载后播放,流媒体的出现,改变了这种应用模式, 将音频、视频等多媒体信息转化成“流”的形式,信息在传输的同时即可进行播 放,从而使人们能够联机欣赏连续不断的多媒体节目。 但说到当前要用于互联网络的流媒体关键技术【1 4 1 ,主要包括:流媒体解压 缩技术 1 5 】;流媒体调度和存储策略:流媒体的传输和控制协议;同步技术【1 6 】; 不间断媒体发布技术以及数字版权管理。 2 2 2 多媒体关键技术 2 2 2 - 1 网络传输与控制协议技术r t 腿t c p 在流式传输网络协议领域,i e t f ( i n t e m e te x p e n i 如kf o r c e ) ,是i n t e m e t 规划 与发展的主要标准化组织,已经颁布的上,最近年来得到蓬勃发展,其中以 i s 伽e c 颁布的m p e g 传输协议主要有:实时传输协议r t p ( r e a l t i m et r a n 印o r t 9 郑州大学硕士毕业论文 p m t o c 0 1 ) ,实时传输控制协议r t c p ( r e a l t i m et r a n s p o r tc o n 仃0 lp m t o c 0 1 ) ,实时 流化协议r t s p ( r e a l t i m es 订e a m i n gp r o t o c 0 1 ) ,以及资源预约协议r s v p ( r e s o u r c e r e s e r v a t i o np r o t o c 0 1 ) 等。其中r t p i 盯c p 是目前被广泛应用的流媒体协议,图 2 2 给出了它的应用体系结构。 泷嫌津膜骞 器滟憔伴接收辅 原 压i宙 薷 r 剖辫码 0 i 艇最船艘l 囊 。一 影迕 l 蜿= i f 槽患l 篓 苎 l “。“。”。| 丰 控 :耋下 制 倍 _ 皇_ r 1 l 晦翻1 图22 流嫖体协议的体系结构 r t p a r e a l t i m et r a l l s p o r tp r o t o c 0 1 ) 是用于b t c m e t 上针对多媒体数据流的一种 传输协议。r t p 被定义为在一对一或一对多的传输情况下工作,其密度是提供时 间信息和实现流同步。r 1 1 p 通常使用u d p 来传送时间,但r t p 也可以在t c p 或a t m 等其他协议只是工作。当应用程序开始一个r t p 会话时将使用两个端口: 一个给r 1 p ,一个给r t c p 。r 1 1 p 本事并不能为按顺序传送数据包提供可靠的传 送机制,也不提供流量控制或拥塞控制,它依靠r t c p 提供这些服务。通常r t p 算法并不作为一个独立的网络层来实现,而是作为应用层程序代码的一部分。 r t c p ( r e a l - t i m et r a n s p o r tc o n 仰ip r o t o c 0 1 ) 和r e a l _ t i m et r a l l s p o r tp r o t o c 0 1 ) 一 起提供流量控制和拥塞控制服务。在r e a l _ 廿m et r a n s p o r tp r o t o c 0 1 ) 会话期间,各 参与者周期性地传送r t c p 包。r t c p 包中含有已发送的数据包的数量、丢失的 数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输码率, 甚至改变有效负荷类型。r t p 和r t c p 配合使用,它们能以有效的反馈和最小的 开销使传输效率最佳化,因而特别适合传送网上的实时数据。 2 2 2 _ 2 调度算法的实现 调度机制是分布式多媒体系统向用户提供并维持所需q o s 水平的又一基本 郑州大学硕士毕业论文 手段分布式多媒体系统使用的调度算法很多,如最早最后期限优先 e d f ( e a r l i e s td e a d l i n ef i r s t ) 算法、虚拟时钟算法、加权公平排队算法等其中e d f 算法是非常著名的实时调度算法之一在每一个新的就绪状态,调度器都是从那 些已就绪,但还没有完全处理完毕的任务中选择最后期限最早的任务,并将执行 该任务所需的资源分配给它在有新任务到来时,调度器必须立即计算e d f ,排 出新的定序,即正在运行的任务被剥夺,并且根据新任务的最后期限决定是否调 度它如果新任务的最后期限早于被中断的当前任务,就立即处理新任务,被中 断任务的处理将在稍后继续进行e d f 算法适合于周期性实时任务的调度,而 且可以对任务的处理提供相应的保证由于连续媒体的生成、传送与播放具有连 续性、实时性和等时性,因此,媒体量子的生成与处理具有明显的周期性,连续 媒体流中的每个媒体量子都有一个隐含的最后期限,基于最后期限来调度进程 去处理这些媒体量子非常自然这样,e d f 算法就成为b b 较常用的调度算法。 延迟e d d ( d e l a ye a r l i e s td u ed a _ f e ) 算法是对e d f 算法的一种扩充服务提 供者按照同每个源协商好的服务合同工作合同申明,如果源遵守峰值和平均发 送速率,服务提供方将保证提供有界延迟服务提供者根据合同将分组的最后期 限设置为应该发送该分组的时间该时间实际上就是该分组的预计到达时间与 服务提供者延迟界限两者之和通过预约峰值速率带宽,延迟e d d 可以确保每条 连接的延迟界限抖动e d d ( j m c r e d d ) 算法对延迟e d d 做了进一步的扩充,以便 提供延迟抖动界限在为某个分组提供服务之后,交换机就为该分组打上一个 “戳”。该戳用来指示该分组的最后期限和实际结束时间之差位于下一个交换机 入口处的调节器在将该分组标记为符合调度条件之前,要将该分组保留戳所指 示的那段时间这样做就提供了最小和最大延迟保证,从而有效地控制延迟抖 动 延迟e d d 属于工作保养型( w j r k c o n s e r v i n g ) 调度算法该类算法总是以较 高的速率为分组提供服务,只要这不影响对其他连接的性能保证即可只要服务 用户有分组要发送,服务提供者就不会空闲抖动e d d 属于非工作保养型( n o n w o r k c o n s e r 、r i n g ) 调度算法该类算法不是在任何情况下都以较高速率为分组提 供服务使用该类算法时,每个分组都被显式或隐式分配一个合格时间。在服务 提供者空闲时,即使有分组但其合格时间未到,服务提供者也不传送分组。工作保 郑州大学硕士毕业论文 养型和非工作保养型调度算法都可以提供吞吐量保证。 2 。2 2 3 音视频同步技术 同步是指两个或多个多媒体事件按一定的时间顺序关系播放,同时也是一种 用于协调多个媒体事件在时间域中的播放机制或过程,存在于多媒体信息的获 取、存储、传输和演示等一系列过程之中。同步操作可以协调和控制两个或多个 媒体事件在并行播放过程中由用户制定的或由其内在的本质所决定的进展和联 系。在分布式多媒体通信网络中,多媒体同步包括两种类型:流间同步和流内同 步。流间同步是指若干相关媒体流的基本媒体单元之间存在的时态关系;流内同 步是指在一个单一的媒体流内,媒体单元之间存在的关系。同步的实质是达到各 种媒体在传输后仍然保持原来的时间和空间上的制约关系。 2 3 流媒体中间件 2 3 1 流媒体中间件的概念 目前流媒体中间件主要都用于处理流媒体,对于流媒体中间件首先是个中间 件,所以具有开放性、可互操作性、可扩展性。其次流媒体中间件是个垂直中间 件,是作为多媒体应用的支撑平台,所以有一些特殊的要求。 首先,流媒体中间件要能够对多媒体编程提供第一级支持。如,媒体数据的 类型描述和视频帧的内存表示都要进行合理的抽象。 其次流媒体中间件在互联互操作上,要强调实时性、交互性。 另外,要提供流媒体相关的系统服务,如,流式协议支持等。 2 3 2 流媒体中间件的构成 流媒体中间件从构成上可以分为基础框架和系统服务。 基础框架要解决互联互操作的问题以及提供基础服务如组件模型、通讯机制 等a 系统服务是针对多媒体应用提供的一些关键技术提供底层支持,如流媒体协 议、d r m 、同步、q o s 等。 郑州大学硕士毕业论文 第3 章 d i r e c t s h o w 技术 3 1 概述 d i r e c t s h o w 是微软w i n d o w s 平台的流媒体开发框架。d i r e c t s h o w 能够提供 高质量媒体流的采集、处理与回放,简化了开发过程。它支持多种类型的媒体格 式,如:a s f 、m p e g l 、m p e g 2 、m p 3 等;它还支持w d m 设备以及v f w 设 备:同时它还与其他的d i r e c t ) ( 技术集成,功能非常强大。 d i r e c t s h o w 是完全基于c o m 的框架,具有很好的开发性和可扩展性。基于 d i r e c t s h o w 框架结构,那么我们就可以开发自己的组件,支持特定的c o d e c 和媒 体类型,对媒体流进行底层控制。 有些人把d i r e c t s h o w 称为w i l l d o w s 平台上的流媒体中间件。实际上 d i r e c t s h o w 对多媒体开发提供了第一级的支持,对媒体流的采集、处理、回放等 都有非常好的类的抽象,同时提供了同步q o s 、时钟、事件等系统服务。但是从 中间件的角度上来讲,它缺少了最本质的东西:互联互操作。d i r e c t s h o w 的互联 互操作局限于进程内的组件的通信,但是中间件的互联互操作却应该是基于分布 式平台上的组件间的通信。所以d i r e c t s h a w 并不能被称为流媒体中间件,只能 看作、v i n d o w s 平台上的多媒体开发框架,可以用来进行扩充使用。 3 2d i 怕c t s h o w 的架构及其工作原理 3 2 1d i r e c t s h o w 架构 d i r c c t s h o w 定义了如何利用标准组件来处理流媒体数据,这些组件称为过滤 器【1 8 _ 19 1 。过滤器带有输入、输出针角0 i n ) ,或二者兼而有之。在d i r e c t s h o w 技 术中处于最核心位置的就是作为”过滤器”的可插入标准组件,它是执行特定任务 的c 0 m 对象。过滤器又可被细分为源过滤器( s o u r c ef i l t e r ) 、变换过滤器 ( t r a n s f o mf i l t e r ) 、表现过滤器艰e n d e r e l + f i l t e r ) 等。过滤器通过向文件读写、修 改数据和显示数据到输出设备上来操作流媒体。为了完成整个任务,必须要将所 有的过滤器f i l t e r 连接起来,这三种过滤器组成了过滤器图表结构,如图3 1 所 郑州大学硕士毕业论文 不 图3 - 1 过滤器图表结构 从图3 1 中可以看出,过滤器图表是各种过滤器的集合,它是通过过滤器的 输入输出针脚“p i n ”顺序连接而成的,这些过滤器的针脚通过协商来决定它们 将支持何种形式多媒体。由于d i r e c t s h o w 支持可重构的过滤器图表结构,所以 使用相同的软件组件可以播放多种类型的媒体。开发人员可以通过定义自己的过 滤器来扩展d i r c c t s h o w 对媒体的支持功能。 在过滤器图表结构中,源过滤器用来从数据源获取数据,并将数据传送到过 滤器图表中,这里的数据源可以是摄像机、因特网、磁盘文件等;转换过滤器用 来获取、处理和传送媒体数据,它包括分离视频和音频的分解变换过滤器( s p l i u e r t r a n s f 0 蛳m t e r ) 、解压视频数据的视频转换过滤器( d e ot r a n s f o n i lf i l t c r ) 、解压 音频数据的音频转换过滤器( a u d i o 订a n s f o m l 丘1 t e r ) ;表现过滤器用来在硬件上 表现媒体数据,如显卡和声卡,或者是任何可以接受媒体数据的地方,如磁盘文 件。它包括用来显示图像的视频表现过滤器( d e or e n d e r e rf i l t e r ) 、将音频数据 送到声卡上去的音频表现过滤器( a u d i or e n d e r e rf i l t c r ) 。 在过滤器图表中,为了完成特定的任务,必须将所有需要的过滤器连接起来, 因此前级过滤器的输出必定成为下级过滤器的输入。一个过滤器至少有一个输入 针( i n p u t p i l l ) ,并将特定的输出送到输出针( o u q ) u t p i n ) ;图3 2 显示了一个过 滤器连接图: 图3 - 2 过滤器连接图 1 4 郑州大学硕士毕业论文 你的应用程序不需要对过滤器图表中的各个过滤器进行单独的处理,因为在 更高的层次上,d i r e c t s h o w 提供的一个称为过滤图表管理器的部件f g m 【2 0 j 管理 着这些过滤器的连接和流媒体数据在过滤器之间的流动,f g m 提供了一套c o m 接口,应用程序可以通过它来访问过滤器图表、控制流媒体或者接收过滤器事件。 如果需要,它可以自动的插入一个合适的解码器,并将转换过滤器的输出针脚连 接到表现过滤器。应用程序可以通过与过滤图表管理器的通信来控制过滤器图表 的活动。程序开发人员只需要调用a p i 函数来实现对流媒体的控制,如n 豇1 方法 启动流媒体在过滤器图表( f i l t e rg r a p h ) 中的流动;p 卸s e 方法暂停流媒体的播 放;s t o p 方法停止播放流媒体等。 另外,利用f i l t e rg r 印hm a n a g e r 能够将事件信息传送到应用层这一特点, 可以使应用程序可以响应事件处理,例如播放或搜索流媒体中的特定时间段的数 据、流结束信息等。 图3 3 是一个m p e g 解码播放的实例,可以看出s o u r c ef i l t e r 将获取的多媒 体数据通过0 u q 痂送到m p e g 分解转换过滤器,m p e g 分解转换过滤器有一个 输入针脚,两个输出针角分别将视频和音频解释码器进行解码,最后两路数据分 别通过视频表示过滤器、音频表示过滤器送到显卡和声卡进行回放。 图3 3m p e g 解码播放实例图 郑州大学硕士毕业论文 3 2 2d i r e c t s h o w 的工作原理 3 2 2 。1d i r e c t s h o w 对硬件的支持原理 w i n d o w s 操作系统对硬件操作进行了隔离;应用程序一般不能直接访问硬 件。d i r e c t s h o w f i l t e r 工作在用户模式( u s e r m o d e ,操作系统特权级别为r 抽g3 ) , 而硬件工作在内核模式( k e m e lm o d e ,操作系统特权级别为r i i l go ) ,那么它们 之间怎么协同工作呢? d i r e c t s h o w 解决的方法是,为这些硬件设计包装f i l t e r ;这种f i l t e r 能够工 作在用户模式下,外观、控制方法跟普通f i l t e r 一样,而包装f i l t e r 内部完成与 硬件驱动程序的交互。这样的设计,使得编写d i r e c t s h o w 应用程序的开发人员, 从为支持硬件而需做出的特殊处理中解脱出来。 d i r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶卫校面试题及答案
- 排球威力测试题及答案
- 文保员考试试题及答案
- 郑州美术面试题及答案
- 家电公司销售回款管理细则
- 辽宁大连市普兰店区第二中学2026届化学高二第一学期期中经典模拟试题含解析
- 2020-2025年注册测绘师之测绘综合能力模考模拟试题(全优)
- 度第一学期五年级语文期末试卷(人教部编版含答案)
- 保安岗位安全生产培训知识课件
- 医药冻库设备销售方案(3篇)
- 新人教版八年级物理(下册)期末综合能力测试卷及答案
- 低压配电箱安装施工方案
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- 蓄水池检验批质量验收记录(海绵城市质检表格)
- 单梁起重机安全操作培训课件
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 脑出血诊治指南
- 2022年重庆市汽车运输(集团)有限责任公司招聘考试真题
- 结构方案论证会汇报模板参考83P
- 移植患者健康宣教 - 副本课件
- 魏家庄村道路实施方案
评论
0/150
提交评论