已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本文根据音视频实时监视系统的需求和特点,选择了适合系统的实时传输控 制协议r t p r t c p ,以及系统的开发平台d i r e c t s h o w ,并对开发平台进行了详细 的分析,然后对监视系统的设计与实现进行了详细的阐述。 首先,根据流媒体特点和系统要求,提出了系统设计的一些关键思想和系统 难题的解决策略。其次,结合实际情况,给出了系统设计的总体架构图,详细阐 述了负责网络发送和接收f i l t e r 的开发过程,其中封装了网络发送和接收,以及 实现音视频同步及支持多种当前主流音视频的媒体格式。为解决网络拥塞对流媒 体系统的影响,具体分析了网络拥塞和带宽自适应算法,同时给出了利用r t c p 传输控制信息,从丢包和端到端延迟两个方面对其进行分析,并给出关键程序的 实现。最后,给出了f i l t e rg r a p h 链路的建立,以及系统的最终实现。本文较好地 解决了音视频同步问题,同时利用调整发送端编码速率和选择关键帧发送两种策 略,较好地解决了网络拥塞和带宽自适应的流媒体难题。 关键词: 流媒体f i l t e r p i nm e d i as a m p l e a b s t r a c t a b s t r a c t a c c o r d i n gt ot h en e e d sa n dc h a r a c t e r i s t i c so fa u d i o - - v i d e or e a l - - t i m em o n i t o r i n g s y s t e m ,w ec h o o s et h er e a l t i m et r a n s m i s s i o na n dc o n t r o lp r o t o c o l ( r t p r t c p ) w h i c h s u i t st h i ss y s t e mi nt h i sp a p e r w ec h o o s et h ed e v e l o p i n gp l a t f o r m ,d i r e c t s h o wa sw e l l , a n a l y z et h i sp l a t f o r mi nd e t a i l ,a n dg i v ea l le l a b o r a t ei n t r o d u c t i o no nt h ed e s i g na n d r e a l i z a t i o no ft h em o n i t o r i n gs y s t e m f i r s to fa l l ,i nt h i sp a p e rw ep u tf o r w a r ds o m ek e yi d e a sa b o u ts y s t e md e s i g na n d t h er e s o l v i n gs t r a t e g i e so ns o m es y s t e m a t i cp r o b l e m s ,b a s e do nt h ec h a r a c t e r i s t i c so f s t r e a m i n gm e d i aa n dt h en e e d so fs y s t e m s e c o n d l y ,c o n s i d e r i n gt h ea c t u a ls i t u a t i o n , w ep r o v i d et h eo v e r a l lg r a p ho fs y s t e md e s i g n w ee l a b o r a t eo nt h ed e v e l o p i n gp r o c e s s w h i c hi si nc h a r g eo fn e t w o r ks e n d i n ga n dr e c e i v i n gi nd e t a i l w ee n c a p s u l a t et h e n e t w o r ks e n d i n ga n dr e c e i v i n g ,r e a l i z et h ea u d i o v i d e os y n c h r o n i s mi nt h i sp r o c e s s b e c a u s et h ec o n g e s t i o no f n e t w o r km a k e sag r e a te f f e c to nt h es t r e a m i n gm e d i as y s t e m , w ea n a l y z et h ep r o b l e m s ,t h ec o n g e s t i o no fn e t w o r ka n db a n d w i d t hs e l f - a d a p t a t i o n p a r t i c u l a r l y ;s e n dc o n t r o li n f o r m a t i o nb yr t c p ;a n a l y z et h ei n f o r m a t i o nf r o mt h e s e t w oa s p e c t s ,p a c kl o s sa n d e n dt oe n dd e l a y ;a n df i n i s ht 髓p r o g r a mf i n a l l y i n 血己e n d , w es e tu pt h ef i l t e rg r a p ha n dp e r f e c tt h i ss y s t e m b yt h ea b o v e m e n t i o n e ds t e p s ,w e r e s o l v et h ea u d i o v i d e os y n c h r o n i s ms a t i s f a c t o r i l y a tt h es a m et i m e ,w es e t t l et h e c o n g e s t i o no fn e t w o r ka n db a n d w i d t hs e l f - a d a p t a t i o nb ya d j u s t i n gc o d i n gr a t i oo ft h e s e n d i n ge n da n dc h o o s i n gk e yf r a m e k e y w o r d :s t r e a m i n gm e d i a f i l t e rp i nm e d i as a m p l e 独创性声明 y 6 9 5 3 9 0 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除r 文中特别加以标注和致谢中所罗列的内容以外,议文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若不实之处,本人承担一切相关责任。 本人签名:趣当逝望日期:扩巧- - 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文中的 全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本人签名 导师签名 剁磐吆 f 1 期:d 啊。,学 喜吾1日期:山吐阜缘 第一章绪论 第一章绪论 1 1 流媒体现状 到目前为止,全世界i n t e r a c t 上使用的主流媒体格式的企业有a p p l e 、 m i c r o s o f t 和r e a ln e t w o r k s 等。与其相应的产品有q u i c k t i m e 、w i n d o w sm e d i a 和r e a l m e d i a 等。 在流式传输技术的开发和推广过程中,r e a ln e t w o r k s 公司是当之无愧的始祖 和领先者。它为流式技术制定了系列的标准和定义了许多名词,并有较全面的 解释。其网络流媒体技术的服务器无关性以及完整的对于不同平台的解决方案是 别的公司在短时期内无法与之抗衡。使用r e a ln e t w o r k s 的网络流媒体服务器,不 仅可以是w i n d o w s 系统,更可以是u n i x l i n u x 等更加稳定的网络服务器。不过, 其它公司也不甘落后。a p p l e 公司在q u i c k t i m e 播放器中自动插播广告的新技术 大大增强该软件的电子商务能力。m i c r o s o f t 则发起了“w i n d o w s 媒体宽带启动协 议”企业联盟。 随着i n t e r a c t 的飞速发展,流媒体技术的应用越来越普及。流媒体技术的竞争 也越来越激烈。我国在流媒体核心技术的发展上面处于一种落后的状态,一般只 停留在应用级。近来,为了满足各种场合的需要,国内的流媒体技术也如雨后春 笋般的发展了起来。 1 2 论文背景和意义 尽管某些场合( 比如做实验的模拟仓,里边有各种有毒气体) 不适和人们停留, 但是需要人们对这些场合的各种状况进行实时观察,因此迫切需要开发实时监视 系统。我所在的实习公司就是接了这样的项目,而且我也是项目组的员。我的 一部分研究成果也用于这个项目中。 目前,在实际中,许多网络多媒体应用的视频传输还是采用模拟信号传输。采 用模拟信弓传输带来的问题就是系统的造价高、建设周期长、适应性不强。当系 统的规模很大时,需要铺设的电缆线又粗又长。一旦系统结构变化,又要铺设新 的管线,有时还需更改现有的线路,这使系统的实施和更新很不方便。于是流媒 体的出现,解决了人们遇到的所有问题。 由于媒体数据量庞大,需要在线传输,做到真正意义上的实时监视网络传输 控制成为实时监视系统的关键之所在。然而t c p 协议严格的建立连接、断开连接 的三次握手和筹错重发机制并彳i 适合数据量大、实时性强的视频数据。面向无连 基于流媒体的网络监视系统的设计与实现 接的u d p 协议由于毫无数据纠错和排序功能,似乎也不太符合要求。而且,网络 还不够强大,带宽资源有限,不能很好的保证q o s 。于是利用r t p r t c p 协议族 来实现传输控制,r t p 负责传输媒体数据,r t c p 负责控制信息的交互,利用现 有的网络协议和网络资源,对q o s 加以控制以获得较好的视频传输效果。 此外,为了实现视频传输控制的策略,视频的捕捉和回放也是一个应解决的 问题。虽然视频捕捉卡的功能强大,但成本高,使用不灵活。由m i c r o s o f t 提供的 d i r e c t s h o w f9 】技术基于组件对象模型技术,支持宽松的格式变化,提供高品质的 多媒体流捕捉和回放。利用它可以在普通微机中实现视频的客户端处理,并可以 提高系统的通用性和可扩展性。 我们的实时监视系统采用r t p r t c p 传输协议和d i r e c t s h o w 开发平台,所采 用的都是流媒体的前沿技术,而且较好的解决流媒体的一些关键问题,如音视频 同步、网络拥塞、带宽自适应以及支持音视频的多种媒体格式等,使系统有着较 好的健壮性和实用性,可以广泛应用于各种需要监视的应用场合。 1 3 论文研究的内容及章节安排 本文的研究目标是:研究一种基于流媒体的网络监视系统。通过对发送方编码 的控制,以及发送帧率的控制,使视频信息的传输能够适应网络状态的变化,起 到拥塞控制和带宽自适应的功能。同时,发送端减少了音频捕捉设备的缓存,而 且在接收端按照接收到的r t p 包中的时间戳,给音视频打上时间戳,不仅保证了 音频的同步,而且实现了真正意义上的实时监视,同时有较好的音视频回放。本 论文的工作及章节安排如下: ( 1 ) 第一章简要介绍网络多媒体视频技术发展的现状、背景以及本论文的主要 内容。 ( 2 ) 第二章分析了流媒体几种传输协议,并且选择适合我们系统需要的协议一 一r t p r t c p ,以及开发平台d i r e c t s h o w 。 ( 3 ) 第三章深入剖析了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 来开发应用程序。 ( 4 ) 第四章详细阐述了系统的设计与实现。首先,介绍了系统设计的思想,然 后介绍系统结构,其后阐述了开发网络发送和接收f i l t e r 的过程,并详细描述 了拥塞控制和带宽自适应的原理算法以及程序实现,最后就是系统的实现。 ( 5 ) 第五章是结束语。 第二章传输协议和流媒体平台的选择 第二章传输协议和流媒体平台的选择 2 1 流媒体原理 2 1 1 什么是流媒体 流媒体( s t r e a m i n gm e d i a ) ,就是应用流技术在网络上传输的多媒体文件。流 ( s t r e a m i n g ) 是对在网路上传输特别的编码数字媒体内容,如音频、视频、动画片、 图形、照片、文本到最终用户的一种描述。只要是用流服务器传输媒体,通过网 络向用户计算机连续、实时传送数据包,用户能够立即且不中断地播放,并且在 最终用户的磁盘上不需要固定的存储空间,都可以说是流。 一个以流方式传输的媒体文件数据包在它开始装入后只需经过几秒或几十秒 的启动延时就能利用计算机上的解压设备( 硬件或软件) 对压缩的媒体数据包解 压、重组、排序后进行播放和观看。此时后台就会边收取多媒体数据包,边连续 播放。用播放一系列连续的媒体片段( c l i p ) 来代替等待一个完全的媒体文件下载后 再播放。前一个片段播放后就从缓存空间丢弃,以腾出更多的空间用来接受组成 下一个片段的数据包。可见,流技术主要应用在多媒体数据传输上。 非流式媒体是指声音、影像或动画等媒体文件采用非流式方式传输的媒体。 通常利用f t p 协议,由音视频服务器向用户计算机传输。采用的方法是先将整个 文件下载到本地计算机硬盘,然后用户可以离线浏览。3 0 秒的视频剪辑在5 6 k b p s 的i n t e m e t 接入上需要1 0 分钟左右的下载时间。流媒体是指在i n t e m e v i n t r a n e t 中 对音频、视频或多媒体文件使用流式传输技术传输的连续媒体。在网络的音频、 视频应用方面,如今越来越多地采用流式传输技术。与以前需要把全部内容下载 到本地再处理的方式不同,流式传输技术采用边下载边处理的方式。只是开始时 需要几秒或十几秒的启动时延,随后用户在观看多媒体信息的同时,在后台连续、 实时地从服务器继续下载。因此,流式传输技术在不需要增加带宽且不占用太多 的缓存容量的情况下,可以十倍、百倍地缩小启动时延。 流媒体又根据流式传输的不同实现方式分为顺序传输流f p r o g r e s s i v e s t r e a m i n g ) 和实时传输流( r e a l t i m es t r e a m i n g ) 两种。实时传输流指在保证媒体信号 带宽与网络连接匹配的条件下使媒体内容呵被实时观看到。实时传输的媒体流 需要专用的流媒体服务器与传输协议,特别适合现场事件,也支持随机访问。用 户可以控制浏览的内容。_ 一般来说,如视频为实时,“播,或使用流式传输服务器, 或应用如r t s p 的实时1 办议,即为实时传输流。而顺序传输流是使用h t t p 服务 基丁| 流媒体的网络监视系统的设计与实现 器顺序卜- 拔文件。在下载文件的同时,用户j 观看己下裁的那部分,而小能跳到 还未f 载的剩余部分,顺序传输流彳:能按用户的连接速度不同来作调整,严格柬 讲,它小是真正意义上的流式传输技术。 2 1 2 流媒体的特点 本文主要涉及实时多媒体流。实时多媒体数据具有以下特点: ( 1 ) 数据量大。以分辨率传输速率为6 4 0 * 4 8 0 * 1 5 f p s 的运动图像来说,每秒 钟产生的数据量就高达1 4 m b 左右。因此,为了便于传输和存储,实时多媒体数 据需要先进行压缩编码处理。 ( 2 ) 数据传输的要求较高。在几个点同时进行多发多收的场合,对系统网络的 传输要求是很高的。 ( 3 ) 对于数据处理的时间要求严格。无论是发送方的数据采集、编码压缩和数 据发送,还是接收方的数据接收、解压和播放,都要求按一定的时间顺序进行, 因此收、发双方要求解决能同步问题。 2 1 3 实时多媒体数据对传输网络性能的要求 实时多媒体数据对传输网络性能的主要的要求有: ( 1 ) 传输带宽要求较高 未压缩的实时数字视频要求以数十兆的速率传送。一个以m p e g l 方式压缩 的数字视频流需要1 m b p s 1 5 m b p s 的传输带宽,而h 2 6 1 标准的压缩数字视频流 需要6 4 k b p s 一2 m b p s 的传输带宽。从实际应用来看,使用m p e g 一1 压缩的数字视 频,以l ,4 m b p s 左右传送带宽可以提供比较满意的效果。 ( 2 ) 传输延迟要求较小 对于交互视频应用来说,i t u 标准建议最大的端到端总延迟不耍超过1 5 0 m s 。 其中信源的压缩打包需要3 0 m s 左右,实际网络传输延迟只能在6 0 m s 左右。 ( 3 ) 实时性要求严格 多媒体数据的通信是面向连续比特流的,要求数据之间有严格的时间关系。 通信网络要能满足多媒体数据流的传输实时性,特别是在多发多收的应用环境卜 电能保证传输的实时性。 ( 4 ) 传输的可靠性较高 多媒体数据不象常规的数据传送不允许出错,而是可以有一定的差错,只要 不影响信息的理解。由于降低了可靠陀,延迟可以十目对减小。 ( 5 ) 需要解决同步问题 第二章传输协议和流媒体平台的选择 包含有两种同步:流内同步是保持单个流内部的关系,即按照一定的延迟和 抖动来传送流;流问同步是不同媒体之间同步( 主要是音频和视频) ,主要利用时 间戳和播放缓冲相结合的方式。 2 2 传输协议 针对网络上传输多媒体实时数据,电信业和计算机业许多国际组织正积极对 该应用的技术进行标准化的工作,其中比较有影响的组织有i t u _ t 、1 e t f 和i m t c ( i n t e r n a t i o n a lm u l t i m e d i a t e l e c o m m u n i c a t i o nc o n s o r t i u m 国际多媒体电讯联盟) 等。 现在较为关键的协议有r t p r t c p 、r s w ( 资源预留协议) 、r t s p ( 实时流协议) 、 i p v 6 等。 2 2 1r t p 瓜t c p ( 1 ) r t p 协议 r t p ( r e a l - t i m et r a n s p o r tp r o t o c a l ) 实时传输协议。是由i e t f 制定的用以传输 实时流媒体的协议标准。它由i e t f 的a v t ( a u d i ov i d e ot r a n s p o r t ,音视频传输) 小 组开发,成为r f c 正式文档,用于视频等实时媒体的传送。i t u t 将h 2 2 5 0 协 议引入到r t p r t c p 协议中,作为h 2 2 5 ,0 协议的核心。 r t p 被定义为在对一或一对多的传输情况下工作,其目的是提供时间信息 和实现流同步。r t p 通常使用u d p 传送数据,但r t p 也可以在t c p 或a t m 等 协议上工作。当应用程序开始一个r t p 会话时将使用两个端口,一个给r t p 、一 个给r t c p 。r t p 本身并不能为按顺序传送数据包提供可靠的传送机制,也不提 供流量控制或拥塞控制,它依靠r t c p 提供这些服务。通常r t p 算法并不作为一 个独立的网络层来实现,而是作为应用程序代码的一部分。r t p 协议只提供了基 本的协议框架,使用者可以针对具体的应用对它进行扩展。协议包括数据传输 ( r t p ) :f 口控带i j ( r t c p ) 两个部分。r t p 协议一般运行于u d p 层之上,这样可以直接 利用u d p 提供的多点投递和数据校验等功能。它的报文格式如图2 1 所示,协议 栈如图2 2 所示。 图2 1r t p 报文格式 基于流媒体的网络监视系统的设计与实现 r t p u d p i p n e t w o r k 图2 2 r t p 协议栈 f 2 、r t p 的工作流程 首先,发送方应为每一个源定义一个s s r c ( s y n c h r o n i z a t i o ns o u r c e i d e n t i f i e r , 同步源标识符) 。在采样形成每一个有效荷载后,依据第一个包的序号和己发包的 数目产生序号。并根据第一个包的时间戳和时间戮的频率产生本次的时间戳,形 成正确的r t p 包后再由下层协议发出。接收方应维持一个抖动缓存,并根据传输 延迟的大小确定回放点( p a y l o a dp o i n t ) 。当到达回放点之后,开始回放。回放点的 选择应兼顾时延的大小和播放的稳定程度,采取折衷的方案。同时,r t p 为每个 会话分配一个端口( 而不是使用保留的端口号) ,通常使用偶数u d p 端口号。对时 间戳的处理,有显式时间管理( e x p l i c i tt i m em a n a g e m e n t ) 和隐式时间管理( i m p l i c i t t i m em a n a g e m e n 0 两种。前者由r t p 协议向应用程序提供时间戳,由应用程序处 理。后者由r t p 协议处理时间戳,并把到达回放时间的r t p 包交给应用程序。 ( 3 ) r t c p 协议 实时传输控制协议r t c p ( 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 0 1 ) 。r t c p 和r t p 一起提供流量控制和拥塞控制服务。在r t p 会话期间,各参与者周期性地传送 r t c p 包。r t c p 包中含有已发送的数据包的数量、丢失的数据包的数量等统计资 料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类 型。r t p 和r t c p 配合使用,它们能以有效的反馈和最小的开销使传输效率最佳 化,因两特别适合传送网上的实时数据。 ( 4 ) r t c p 协议的工作流程 首先,要为r t c p 报文划定带宽。原则是全部控制信息的通信量不应超过全 部实时数据通信量的5 。而接收方报告不应超过所控制的某个范围。然后应选 择比r t p 端口号大一的端口给r t c p 。在开始发送与接收r t p 报文之后,根据带 宽分配的原则,以固定的问隔,发送方发送s r 报文与s d e s 报文,而接收方应 根据接收r t p 和s r 报文的情况产生r r 报文并发送。在发送方停止发送后,发 出b y e 报文,接收方收到居即停止接收。 第二章传输协议和流媒体平台的选择 2 2 2r t s p 协议 r t s p ( r e a l t i m es t r e a m i n gp r o t o e a l ) 是一个用多媒体流化表示的控制协议,用于 控制实时性数据的传输。它提供对媒体流的类似于录像机的控制功能,如播放、 暂停、快进等。它最早是由r e a ln e t w o r k 公司、n e t s c a p e c o m m u n i c a t i o n 公司和 c o l u m b i a 大学等联合推出的草案,1 9 9 8 年4 月被i e t f 正式采纳为标准r f c 2 3 2 6 。 r t s p 在体系结构上位于r t p ,q t c p 之上,它使用r t p r t c p 实现数据的传输。 r t s p 主要用在一对多的场合。使用r t s p 时,服务器与客户均可发出请求,即 r t s p 可以是双向的。 r t s p 协议支持以下的操作: ( 1 ) 从媒体服务器回取数据:客户机可以通过h t t p 或其他方法请求一个表示 描述。如果表示是多点广播的,则表示描述包含用于该连续媒体流的多点广播地 址和端口。如果表示是点对点的,客户机将由于安全原因提供目的地址。 ( 2 ) 邀请媒体服务器加入会议:一个媒体服务器可以被邀请加入一个己经存在 的会议,或者在表示中回放媒体,或者在表示中录制全部媒体或它的一个子集。 ( 3 ) 在一个存在的表示中加入新的媒体流:特别对于现场表示而言,如果服务 器可以通知客户机新加入的可利用媒体流将是非常有用的。 r t s p 协议具有以下的特点: ( 1 1 实行完全的双向实时流的控制。 ( 2 ) 对时间的同步要求不高,因而可以忍受网络上偶尔的延迟。 ( 3 ) 易于支持和兼容新的传输协议及技术,例如i pm u l t i c a s t 、r t p 等。 ( 4 ) 考虑了网络的安全,并能对传输内容进行智能保护。 2 2 3r s v p 协议 r s v p ( r e s o u r c er e s e r v a t i o np r o t o c a l ) 资源预留协议,主要是为需要保证服务质 量的应用而设计的。它是i p v 6 的一个伙伴协议,是面向接收方的。接收方发出一 个含有流量规范说明的预订报文。r s v p 识别想要的数据流,然后把这个报文转 发给发送方,发送方并不知道正在接收它的多站点组成的源集合。这使得动态加 入和撤离比面向发送方的方法容易,后者必须由发送方控制节点的加入和撤离。 这种功能成为通信控制,协议由3 个部分组成:进入控制、组块分选器和组块调度 器。 r s v p 还支持口多播通信,这个多播通信是由接收方驱动的,接收方决定了 需要为给定数据流预留的资源。 基于流媒体的网络监视系统的设计与文现 2 2 4j p v 6 多媒体数据流的加入是新版伊产生的重要原因,当然还包括大型地址空间和 数据流的真实性鉴别和加密需求。其中个重要设计目标是保证与i p v 4 版本兼 容,它的主要设计思想是建立在原先版本的基础上,是属于无连接型的数据报协 议。网络层中没有差错控制和流量控制,但是它有如下新特点: ( 1 11 2 8 位的地址空间允许更多的的主机寻址,并且允许地址层上有更多的层 次。 ( 2 ) 改进的多站点寻址方案允许将多站点路由限制在指定范围内。多站点地址 中的区字段可限制地址的正确性服务,例如企业内部网i n t r a n e t 。另一个标志字段 用于区分是永久性多站点组地址还是临时性多站点组地址。 ( 3 ) 组块头中新定义的流标志字段允许鉴别属于同一数据流的历有组块。一个 流指的是由一个主机发送给一个单站点或者一个多站点地址的组块序列。因此, 路径上所有的路由器都可以鉴别一个流所在的组块,并且以流特有的方式对待这 些组。例如,可以把属于同一音频流的组块的优先级定得比同一文件流的组块的 优先级要高。 ( 4 ) 具有能满足真实性、完整性和数据加密性处理等新的机制。 2 2 5 实时传输协议的选择 r s v p 协议需要得到传输路径中的所有路由器的支持,否则就无法正常工作。 r s v p 通过网络的资源进行预留,为实时连续媒体留下需要传输数据的所有资源 ( 包括带宽、缓冲区容量和c p u 处理时间等1 ,建立一条从发送端到接收端的虚电 路,实现实时连续媒体的有效传输。r s v p 的优点是可以很好地保证连续媒体的 传输服务质量。但由于r s v p 要周期性地刷新每个路径的状态,因此,开销大且 实现复杂。当虚电路太多时,路由器对它们的处理变得相当困难。并且r s v p 对 实时传输数据流缺乏监控,无法获得网络拥塞情况、丢包率等信息,也就不能及 时调整数据的传送。 i p v 6 作为下一代i n t e r n e t 将会采用的新协议,需要网络设备的支持,所以目前 还处于推广应用阶段。在全球范围内,仅在几个试验网内运行( n g i 、b v s 、 i n t e r n e t 2 、6 b o n e 等1 。 r t s p 是建立在流媒体传输协议之上的。它本身并不发送连续流,而是充当多 媒体服务器的远程控制。比如从媒体服务器上检索媒体、媒体服务器邀请进入会 议、将媒体加入到现成讲序中。而在本论文中,对传输协议的要求重点在考虑协 第一二章传输协议和流媒体平台的选择 议是否能够及时地传送灾时数据,接收部分是否能按实时数据采集的顺序排序, 并按数据中的蹦间戳回放。对r t s p 要求的诸如视频点播中的暂停、快进等功能, 并不重要。因此,从实际需要出发,直接选择更下层的传输协议。 r t p r t c p 是一种基于会话层的实时连续媒体传输协议。它最大的优点是具有 对网络的自适应能力,不需要对网络进行改造即可实现一定的实时连续媒体的传 输服务质量。它的缺点是所获得的传输q o s 波动较大,但在不保证q o s 的网络 中,是传输实时连续媒体的一种代价最小的方法。而且,r t p r t c p 提供了负载 类型标识、顺序编号、丢失检测、传输监控等服务,应用程序可利用这些服务尽 可能地解决传输过程中不可预测的延迟、抖动等问题。 基于以上的比较,r t p r t c p 协议既能满足应用的需要,又可以使使用的代价 最小,因此决定选择r p ,r t c p 协议来进行实时数据的传输。 2 3 流媒体开发平台( d i r e c t s h o w ) d i r e c t s h o w 是如今开发网络流媒体应用中用得较多的一种编程接口,它具有 以下的特点: ( 1 ) d i r e c t s h o w 是专为流媒体应用设计的一套体系。 为适应多媒体流式应用中的各种特点,m i c r o s o f t 开发的流媒体平台针对大量 的数据传输、快速的数据处理要求、音视频流的同步:媒体流的格式转换等,提 供了一种较为成熟有效的应用架构。它的设计目标是,隔离数据传输、硬件兼容、 流同步等底层处理,使客户能够轻松创建多媒体应用程序。 ( 2 ) 具有较好的实时性 d i r e c t s h o w 在设计时考虑了实时流媒体的特性,在结构中提供了对实时数据 的处理功能。因此,d i r e c t s h o w 是诸多开发平台中实时性能较好的一种。 ( 3 ) 具有开放的体系结构,有利于系统开发 d i r e c t s h o w 基于组件对象模型技术,其内部定义有自己的组件问信息交换标 准。这为开发者实现快速丌发提供了条件。而同时,用户设计的组件只要符合组 件对象模型标准,同时又依据流媒体平台内部的信息交互规则与现存的组件通信, 就能够使应用系统良好地运行。正因为如此,对于播放部分,用户既可以引入本 地或远端的文件,也可以换成不同的组件引入远端实时流,这就为开发者带来了 极大的方便。 ( 4 ) 调试环境好,方便用户调试 d i r e c t s h o w 中带有可视化的调试工具组合图形编辑器( g r a p he d i t o r ) 。用 户编写好自己的组件后,可以在其中调试。组件及其中的接口均以图形的方式显 示,并且可以自动完成组件之m 的联接与测试,使开发者免去了为每一个组件编 基于流媒体的网络监视系统的设计与实现 写调试代码的工作。 因此,d i r e c t s h o w 是一个功能巨大的流媒体开发平台,其功能完全能够满足 本系统的需要,因此我们选择d i r c 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 的分析与研究 第三章d i r e c t s h o w 的分析与研究 3 i 概述 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 4 、m p 3 等;它支持w d m 设备以及3 w 设备,同时它还与其他 d i r e c t x 技术如d i r e c t s o u n d 、d i r e c t d r a w 等集成,功能非常强大。 更为重要的是,d i r e c t s h o w 是完全基于c o m 的框架,具有良好的开放性和 可扩展性。基于d i r e c t s h o w 框架,程序员可以开发自己的组件,支持特定的编码 器和媒体类型,对媒体流进行底层的控制,甚至可以控制到每一视频帧的每一个 象素等。更值得一提的是,d i r e c t s h o w 提供的是一种开放式的开发环境,我们可 以根据自己的需要定制自己的组件。 3 2d i r e c t s h o w 结构 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 会优先使用d i r e c t d r a w 和d i r e e t s o u n d 来回放流媒体,通过将媒 体数据封装在带有时间戳的帧( s a m p l e ) o 来获得同步。 为了处理各种各样的数据源、媒体格式、硬件设备,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 间通过p i n 互联。互联的f i l t e r 在f i l t e rg r a p h 中工作。而f i l t e rg r a p h 是由 f i l t e rg r a p hm a n a g e r 控制的。d i r e c t s h o w 的系统框架【9 l 如图3 i 所示。 基j f 流媒体的网络监视系统的设计与实现 图3 1d i r e c t s h o w 系统架构 图3 1 中央最大的一块即是d i r e c t s h o w 系统。d i r e c t s h o w 使用一种叫f i r e r g r a p h 的模型来管理整个数据流的处理过程。参与数据处理的各个功能模块叫做 f i l t e r 。各个f i l t e r 在f i l t e rg r a p h 中是按一定的顺序被连接成一条“流水线”来协同 工作的。 3 2 1f i l t e r f i l t e r 是个c o m 组件,它由一个或多个p i n 组成。p i n 也是一个c o m 组件。 f i l t e r 文件的扩展名为a x ,但也可以是,d l l 。f i l t e r 根据其包含i n p u t p i n 或o u t p u t p i n 或在f i l t e rg r a p h 的位置,大致可分为三类:s o u r c ef i k e r ( 仅有o u t p u tp i n ) 、 t r a n s f o r m f i l t e r ( 同时具有t n p a t p i n 和o u t p u t p i n ) 和r e n d e r e r f i l t e r ( 仅有t n p u t p i n ) 。 s o u r c ef i l t e r s 主要负责取得数据,数据源可以是文件、因特网,或者计算机里的 采集卡、数字摄像机等,然后将数据往下传输。t r a n s f o r mf i l t e r s 主要负责数据的 格式转换、传输。r e n d e r i n gf i l t e r s 主要负责数据的最终去向。我们可以将数据送 给声卡、显卡进行多媒体的演示,也可以输出到文件进行存储。值得注意的是, 三个部分并不是都只有个f i l t e r 去完成功能。恰恰相反,每个部分往往是有几 个f i l t e r 协同工作的。比如,t r a n s f o r mf i l t e r s 可能包含了一个m p e g 的解码f i l t e r 、 以及视频色彩空阳_ j 的转换f i l t e r 、音频采样频率转换f i l t e r 等等。除了系统提供的 大量f i l t e r 外,我们可以定制自己的f i l t e r ,以完成我们需要的功能。 一般情况下,创建f i l t e r 使用一个普通的w i n 3 2d l l 项目。而且,一般f i l l e r 项目小使用m f c 。这时,应阁程序通过c o c r e a t e h n s t a n c e 函数f i l t e r 实例,f i l t e r 第三章d i r e c t s h o w 的分析与研究 与应用程序在二进制级别的协作。另外一种方法,也可以在m f c 的应用程序项 目中创建f i l t e r 。因此,f i l t e r 不需注册为c o m 组件,f i l t e r 与应用程序之问的协 作是源代码级的。创建f i l t e r 实例,不再使用c o c r e a t e i n s t a n c e 函数,而是直接 n e w 出一个f i l t e r 对象,如下: m _ p f i l t e r o b j e c t = n e wc f i l t e r c l a s s 0 ; m - p f i l t e r o b j e c t - a d d r e f 0 ; 因为f i l t e r 的基类实现了对象的引用计数,所以即使在第二种情况下,对创建 后的f i l t e r 对象的操作也完全可以遵循c o m 标准。f i l t e r 是一个独立功能模块, 最好不要将f i l t e r 依赖于其他第三方的d l l 。因为f i l t e r 具有c o m 的位置透明性 特点,f i l t e r 文件可以放在硬盘的任何位置,只要位鼍移动后重新注册即可。但此 时,如果f i l t e r 依赖其他d l l ,则f i l t e r 对该d l l 的定位就会出现问题。 f i l t e r 不能脱离f i l t e r g r a p h 单独使用。所以,如果想绕过f i l t e r g r a p h 直接使 用f i l t e r 实现的模块功能,必须将f i l t e r 移植成d m o ( d i r e c t xm e d i ao b j e c t ) 。 3 2 2 p m p i n 的概念来自于硬件。在d i r e c t s h o w 中,p i n 的角色就是流接口,只不过p i n 是进程内组件的端口。 p i n 在d i r e c t s h o w 中扮演了非常重要的角色。每个- p i n 可以支持若干种媒体格 式,f i l t e r 间的连接实际是p m 间的协商过程。或者可以这么说,f i l t e r 封装了处 理功能,p i n 封装了通信功能。 3 2 3f i l t e rg r a p hm a n a g e r f i l t e rg r a p hm a n a g e r 是d i r e c t s h o w 架构的核心。它位于应用程序与f i l t e r g r a p h 中间,向上为应用程序提供编程接口,向下控制各个f i l t e r 。它的主要功能 如下: ( 1 ) 协调f i l t e r 间的状态变化 f i l t e r 间的状态变化必须依照特定的顺序,所以应用程序不直接向f i l t e r 发送 状态变化命令。相反,它只发送单个命令给f i l t e rg r a p h ,由f i l t e rg r a p hm a n a g e r 把这个命令发布到各个f i l t e r 去。 ( 2 ) 建立参考时钟 g r a p h 中的所有f i l t e r 使用相同的时钟,这个时钟叫参考时钟。参考时钟使所 有的流能够同步。f i l t e rg r a p h 通常选择声卡时钟或系统时钟作为参考h 寸钟。 ( 3 ) 将f i l t e r 事件回传给应用程序 基于流媒体的网络监视系统的没计与实现 f i l t e rg r a p h 将f i l t e r 事件放入事件队列,并通知应用程序处理。这与w i n d o w s 的消息处理机制很类似。 ( 4 ) 创建f i l t e rg r a p h f i l t e rg r a p h 为应用程序提供a p i 来创建f i l t e rg r a p h 。包括了添加删除f i l t e r , 连接断开f i l t e r 等。 3 3d i r e e t s h o w 的工作原理 3 3 ,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 wf i l t e r 工作在用户模式( u s e rm o d e ,操作 系统特权级别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理观察中的疼痛评估与管理
- 2025年家政服务行业发展趋势分析
- 山西省长治市上党区第一中学校2025-2026学年高一下学期期中考试语文试卷(含答案)
- 护理7S:数据驱动决策
- 福建省泉州市2025-2026学年八年级下学期模拟考试生物试卷(有答案)
- 链轮制造工创新意识知识考核试卷含答案
- 炼焦煤制备工岗前基础实操考核试卷含答案
- 真空冶炼工岗前常识考核试卷含答案
- 2026年新科教版高中高一化学上册第三单元氧化还原综合应用卷含答案
- 无机化学反应生产工安全实践能力考核试卷含答案
- 2026年设备出售转让合同(1篇)
- 2026年事业单位面试结构化100例
- 2026年深圳市盐田区初三二模语文试卷(含答案)
- 2026中南出版传媒集团股份有限公司春季招聘考试参考题库及答案解析
- 河南省农村中小学闲置校园校舍的调查与再生路径研究
- 20kV及以下配电网工程预算定额(2022版)全5册excel版
- 饮用水水质PH值安全控制检测标准
- 骨科护理饮食与营养康复
- 骨科护理常规与护士专业素养提升
- 物业电工安全操作培训课件
- 国企员工行为规范管理制度
评论
0/150
提交评论