




已阅读5页,还剩63页未读, 继续免费阅读
(通信与信息系统专业论文)基于arm平台的网络视频流媒体设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着网络和计算机的迅速发展,人们对生活质量的要求也越来越高,几年前 碟片作为多媒体的主要存储方式已经慢慢落伍了,取而代之的是“在线音乐”、 “在线影片”,不仅播放灵活方便,而且在客户机端不会留下任何残留的多媒体 资料,也就是所谓的流媒体。然而流媒体的应用不仅仅在消遣娱乐方面,还可以 利用该技术来完成实时监视,比如在办公室中就可以监视远程工厂的机器运转情 况,监视某河流的水质,远程监视幼儿园中宝宝们的情况等。目前市场上比较流 行的监视设备要么只能在局域网内部监视,要么必须要配备专门的应用软件,不 能满足既低成本又通用的要求,本设计就是要设计一种通用的低成本的监视设备。 本论文阐述了基于i p 网络的实时视频采集、处理、传输系统,也就是俗话所 说的网络摄像机,整个系统在嵌入式软硬件架构上实现。u s b 摄像头采集到的图 像通过摄像头的u s b 口传送给c p u $ 3 c 2 4 1 0 x ,c p u 通过应用程序v l c ( v i d e o l a nc l i e n t ) 对数据进行编码,打包生成a s f 数据流,通过i n t e m e t 传输出去,只 要连接到i n t e m e t 上的p c 机就可以用w i n d o w s 自带的w i n d o w s m e d i a p l a y e r 播放, 如果接收端o s 是l i n u x 也可以使用开源的v l c 来播放,实现了跨平台的支持, 这样不仅仅通用而且降低了应用软件的成本。 本论文还阐述了整个终端模块的方案选择,包括o s 的选择、数据码流格式选 择、f s ( 文件系统) 选择、系统的硬件设计和软件实现等。 关键词: r _ ;网络流媒体;网络摄像机;监视 t h ed e s i g na n dr e a l i z a i o no f i n t e r n e t v i d e os t r e a m i n gm e d i ab a s e do na r mp l a t f o r m a b s t r a c t p e o p l e sr e q u i r e m e n t so fl i f eq u a l i t yi sm o r ea n dm o r eh i g h e ra l o n gw i t l lt h ef a s t d e v e l o p m e n to fn e t w o r ka n dc o m p u t e rt e c h n o l o g y n l ed i s h w a r e a sam a i ns t o r e m e t h o ds e v e r a ly e a r sa g o ,i sd r o p p e db e h i n ds l o w l ya n di sr e p l a c e db y “o nl i n em u s i c ” a n d “o nl i n em o v i e s u c hk i n do fm u l t i m e d i ac a l l e d s t r e a m i n gm e d i a n o to n l yi s c o n v i e n tw h i l ep l a y e d ,b u ta l s od o n t k e e pb a c ka n yr u d i m e n t a lm u l t i m e d i ad a t a h o w e v e r ,s t r e a m i n gm e d i ai su s e dn o to n l yi ns u c hd i s s i p a t i o na n de n t e r m e n tf i e l d s ,b u t a l s ot or e a l i z es t s k e o u t ,s u c ha sy o uc a nw a t c ht h ew o r ks i t u a t i o no f t h er e m o t em a c h i n e i ny o u ro f f i c e ,k n o wt h ew a t e rq u a l i t yo fo n ef i v e r , a n dk n o wt h es i t u a t i o no ft h e c h i l d r e ni nt h ek i n d e r g a r t o na n ds oo n t h es t a k e o u te q u i p m e n t sp o p u l a ri nt h em a r k e t c u r r e n t l ye i t h e rc a no n l ys t a k e o u ti nal a n o rh a v et of i ts p e c i a la p p l i c a t i o ns o f t w a r e a n dc a n n o tm e e tt h el o wc o s ta n dg e n e r a lr e q u i r e m e n t s t h i sd e s i g ni st od e s i g na g e n e r a ll o wc o s tw a t c he q u i p m e n t t h i sp a p e re x p a t i a t e st h er e a lt i m ev i d e oc a p a t u r e ,d i s p o s a la n dt r a n s m i s s i o n s y s t e m ,w h i c hi sc o m m o n l yc a l l e dt h en e t w o r kv i d i c o n , b a s e do ni pn e t w o r ka n dt h e w h o l ei sr e a l i z e do nt h ea r ma r c h i t e c t u r e t h ei m a g ed a t ac o l l e c t e db yt h eu s b v i d i e o ni st r a n s i m i t t e dt ot h ec p u $ 3 c 2 4 1 0 xt h r o u g ht h eu s bi n t e r f a c e ,a n dc p u c o d e st h ed a t ab ya p p l i c a t i o nv l c ( v i d e ol a n c l i e n t ) ,p a c k a g e sd a t a t ot r e a tt h ea s f d a t as t r e a m ,t r a n s m i t so u tt h r o u g hi n t e r n e t ,a n do n l yi ft h er e c e i v e ri sc o n n e c t e dt ot h e i n t e r a c tt h er e c i e v i e rc a np l a yt h es t r e a m i n gm e d i ae i t h e rt h r o u g ht h ew i n d o w sm e d i a p l a y e ri n c l u d e di nt h ew i n d o wo so rt h r o u g ht h ev l ci nt h el i n u xo s a n dt h i s t e c h n o l o g yc a nw o r ka c r o s st w oo s ,a n di nt h i sw a yt h i sm e t h o de a r lr e a l i z en o to n l y g e n e r a lb u ta l s od e d u c et h ec o s to f t h ea p p l i c a t i o n t h i sp a p e re x p a t i a t e st h em e t h o ds e l e c t i o no f t h ew h o l et e r m i n a lm o d u l e ,i n c l u d i n g t h es e l e c t i o no fo s ,s t r e a m i n gf o r m a to fd a t aa n df s , t h eh a r d w a r ed e s i g na n dt h e s o f t w a r er e a l i z a t i o n k e yw o r d s :a r m ;n e t w o r ks t r e a m i n gm e d i a ;n e t w o r kv i d i e o n ;s t a k e o u t i i 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写成博士, 硕+ 学位论文 ! 基王壁丛垩台曲圆终趣麴速基住途盐量塞现:。除论文中已经注明引用 的内容外,对论文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本论文 巾不包含任何未加明确注明的其他个人或集体已经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:张卵日孝d 6 年;月万日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、版权使用管 理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论文的复印件和电子版, 允许论文被查阅和借阅。本人授权大连海事大学可以将本学位论文的全部或部分内容编入有 关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密( 请在以上方框内打“”) 论文作者躲璇铆印师躲时穆 日期:护b 年;月必日 第1 章绪论 1 1 流媒体的历史与现状 ”流媒体”( s t r e a m i n gm e d i a ) 这个名词对于很多人来说还有点陌生,但随着计 算机网络的不断发展,”在线音乐”、”在线影片”越来越常被引用,流媒体也就是 目前网络上常见的”在线音乐”、”在线影片”的另一个代名词【1 1 。 流式传输定义很广泛,现在主要指通过网络传送媒体( 如视频、音频) 的技术 总称。其特定含义为通过i i 她m e t 将影视节目传送到p c 机。实现流式传输有两种 方法:实时流式传输( r e a l f i m es u 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 ) 睇j 。一般说来,如果视频为实时广播,或使用流式传输媒体服务器,或应用如r t s p 的实时协议,即为实时流式传输。如果使用h t t p 服务器,文件即通过顺序流发 送。本设计采用的流式传输方式是实时流式传输。 所谓流式通道,其实就是在使用者端的电脑上创造一个缓冲区,在播放前预先 下载一段资料作为缓冲,在网络实际连线速度小于播放所耗用资源的速度时,播 放工具就会取用这- d , 段缓冲区内的资料,避免播放的中断,也使得播放品质得 以维持。 采用流式通道最有名的播放工具之一就是r e f ln e t w o r k s 的r e f lp l a y e r ,现在 已经发展到r e a lo n e 版本了。不过最早期的r e f lp l a y e r 叫做r e f la u d i o ,公司 名称还是尚未改名成r e f ln e t w o r k s 的p r o g r e s f i v en e t w o r k ,而r e a la u d i op l a y e r 还只能播放音乐。r e a ln e t w o r k s 成功的一大原因是它采用新一代的流式通 道一一r t s p ( r e f l t i m es t r e a m i n gp r o t o c 0 1 ) ,使用专门的流媒体服务器r e f ls e r v e r 来替代使用i q t t p ( h y p e rt e x tt r a n s f c rp r o t o e o b 通道的w e bs e r v e r ,因此在播放 影音内容给使用者时,能取得比w e bs e r v e r 来得快又稳定的效果。另外由于流格 式的文件在播放后不会在使用者端留下播过的资料,也被音乐业者认为比m p 3 安 全,较有著作权保护的音乐格式。当时r c a l a u d i o 的盛行,带来一阵在线音乐的 风行,许多音乐网站如雨后春笋般的兴起。r e a ln e t w o r k s 顺势购并了x i n g 后推 出的r e f l v i d e o 格式,也将影音正式带入了i n t e m e t 的世界。r c a l p l a y e r 正式整 合了流音乐及流影片的格式,成为r e a lm e d i a ( r m ) ,r e a lp l a y e r 也改名为r e f l p l a y e rg 2 ,代表了”g e n e r a t i o n2 ”新世代”的流格式,在r e a lp l a y e r 内的视窗中 还支持了h t m l 样式,用s m i l ( s y n c h r o n i z e dm u l t i m e d i ai n t e g r a t i o nl a n g u a g e ) 加 强了流格式在h t m l 中的运用,也支持了m a c r o m e d i af l a s h 的播放f 称之为 r e a lf l a s h ) 颇有新一代多媒体浏览器的气势,来势汹汹。微软一开始并没有把r e a l n e t w o r k s 放在眼里,对流媒体的未来也不甚看好,到1 9 9 7 年时眼见r e a l n e t w o r k s 在消费者市场上大为成功,m i c r o s o f t 也推出了在w i n d o w sn t 上的 n e t s h o w 流平台,虽然免费( 相对于r e a ln e t w o r k s 索价的$ 1 9 9 5 美金) ,但在市 场及使用者反应技术能力不佳后,不禁着急起来,开始在流媒体领域投入大量的 资源,首先并购了另一家重量级的流视频厂商v x t r e m e ,推出了w i n d o w sm e d i a p l a y e r ,号称可以取代”使用者现在装载在电脑中的许多播放工具”。 r e a ln e t w o r k s 当然也不甘落后,这两个公司不断取得进步,不断完善软件。 后来,m i c r o s o f t 与r e a ln e t w o r k s 取得共识,决定”与r e a ln e t w o r k s 共同开拓流 市场”。m i c r o s o f t 投资部分r e a ln e t w o r k s 的股份,并以三千万美金取得r e a l p l a y e r5 0 的部分技术与规格,随即m i c r o s o f t 将其多媒体播放工具( 也包括r e a l 5 0 流格式的支持) w i n d o w s m e d i a p l a y e r 放入w i n d o w s 9 8 的内定工具集中,一 时间m i c r o s o f t 与r e a ln e t w o r k s 的联盟隐约成形。然而媒体一致不看好,并以i e 浏览器与n e t s c a p e 浏览器之争时的经验提醒投资人注意。在短短的几个月后,也 许是r e a ln e t w o r k 的总裁,也是前任m i c r o s o r 的资深多媒体部门副总r o b g l a s e r ,发现m i c r o s o f t 的目的并不单纯,让他想到了曾发生在n e t s c a p e 浏览器 上的惨痛经验,以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 不支持r e a l p l a y e r5 0 格式的理由向法院提起诉讼,还出席了微软反拖拉斯案的听证会作证指 控微软,使得合作完全中断,双方反目成仇。 m i c r o s o f t 当然也被r e a ln e t w o r k s 的举动惹火了,投入更大量的资源于流媒 体上,并推出了w i n d o w sm e d i a 4 0 ( n e t s h o w 的新称呼) ,在媒体的播放品质与功 能上都大幅提高,到了w i n d o w sm e d i a7 0 时,大部分的功能都已完备,品质与 r e a lp l a y e r7 也不相上下,最重要的是w i n d o w sm e d i a 完全不用钱,从平台的 w i n d o w sm e d i as e r v e r ,制作工具w i n d o w sm e d i ae n e o d e r ,到发展工具w i n d o w s m e d i as d k 等等完全免费,相对于没有什么财力的r e a ln e t w o r k s ,从美金$ 1 9 9 5 的r e a ls e r v e r 到美金$ 2 0 的r e a lp l a y e rp l u s 都要收钱,m i c r o s o f t 显然想用当初 对付n e t s c a p e 的同一招”免费大法”来打死r e a ln e t w o r k s 。 只是r e a ln e t w o r k s 也不会坐以待毙,加紧地推出r e a lp l a y e r7 ,r e a lp l a y e r 8 ,号称品质又比m i c r o s o f tw i n d o w sm e d i a 更好,对于i s p i c p 等企业市场更是 积极地开发,以r e a ls e r v e r 服务器软件作为销售主力。由于当初n e t s c a p e 主攻的 是以消费者为主的市场,而一般消费者对于价格极为敏感,要钱的n e t s c a p e 当然 打不过免费的i n t e r n e te x p l o r e r ,然而这次r e a ln e t w o r k s 主攻的大型i s p i c p 重 视的显然不只是钱,网络播放的品质,还有最重要的多平台相容性。m i c r o s o f t 在 这一点显然受限于先天的限制,只支援自家w i n d o w s 的平台。r e a ln e t w o r k s 则 不然,除了有r e a lp l a y e rf o rw i n d o w s 之外,还有r e a lp l a y e rf o rm a c 。由于在美 国媒体界中的内容制作者,有七成以上都还是用m a c 来剪辑音乐及影片,要这些 人在m a c 上剪接完再到p c 上看播出来的效果实在不容易,因此r e a lp l a y e r 也得 以在m a c 专业使用者的庇荫下,仍然在流媒体的市场中占有一席之地。另外r e a l n e t w o r k s 也朝内容收费提供平台的方向拓展商机,靠着全球有一千五百万个已注 册r e a lp l a y e r 的使用者之实力建立起自己的媒体空间。看样子,短时间内r e a l n e t w o r k s 可不会让m i c r o s o f t 称心如意的吃掉流媒体这块大饼! m i c r o s o f tw i n d o w sm e d i a 流媒体不适用于w i n d o w s 之外的平台,而r e a l n e t w o r k s 公司的解决方案又需要付费,即使软件的升级也要不停的投入新的成本, 对于中小公司来说这也是一笔不小的开销。 目前市场上流行的其他流媒体解决方案,都有一套完整的应用软件、视频软件、 单独的流格式,不太通用,而且成本比较高。本次设计就是在此背景之下,设计 一个便携、通用、低成本的流媒体解决方案。 1 2 本论文章节安排 本论文内容包括:流媒体网络协议、本方案的设计与实现、系统硬件电路和软 件介绍等。 论文首先介绍了流媒体发展的历史和现状,指出了本次设计的应用背景。 第2 章系统的阐述了流媒体用到的网络协议,包括r t p 、r t c p 、r t s p 的格式、 参数、与其他协议之间的关系等,还简单介绍了a s f 流格式。 第3 章介绍了本次设计的实现方案和硬件电路,并对方案的可行性进行了验 证。 第4 章介绍了网络摄像机的具体软件实现。从交叉编译工具链的建立到l i n u x 操作系统的裁减和移植,以及v l c 软件的介绍和最终设计的结果,并对其进行了 分析。 第5 章对全文进行了总结。 第3 章和第4 章是本论文的重点,是本次设计的核心内容。 第2 章流媒体理论基础 2 1 流媒体网络协议 流视频协议是为了在客户机和视频服务器之间进行通信而设计和标准化的。根据它们 的功能,网络上流视频相关的祷议分为三类。 网络层协议:网络层协议提供了基本的网络服务支持。i p 就是网络上流视 频使用的网络协议。 传输协议:传输协议为流服务提供端对端的网络传输功能。t c p 、u d p 、 r t p 和r t c p 就是网络上流视频使用的传输协议。 话路控制协议:话路控制协议定义消息和程序。r t s p 就是一种话路控制 协议。 流视频协议栈如下图所示。 图2 1 流视频协议栈 f i g 2 1s t r e a m i n gv i d e op r o t o c o ls t a c k 在发送方的数据面,压缩且经过a s f 编码的视频数据被读出并在 r t p r t c p r t s p 层上打包,提供定时和同步信息以及包的序列号。然后把这些打 包的r t p 数据流发送到u d p t c p 层和口层,得到的i p 包在网络上传输。在接收 第2 章流媒体理论基础 2 1 流媒体网络协议 流视频协议是为了在客户机和视频服务器之间进行通信而设计和标准化的。根据它们 的功能网络上流视频相关的协议分为三类。 网络层协议:网络层协议提供了基本的网络服务支持。i p 就是网络上流视 频使用的网络协议。 传输协议:传输协议为流服务提供端对端的网络传输功能。t c p 、u d p 、 r t p 和r t c p 就是网络上流视频使用的传输协议。 话路控制协议:话路控制协议定义消息和程序。r t s p 就是一种话路控制 协议。 流视频协议栈如下图所示。 图2l 流视频协议栈 f i g 21s t r e a m i n g v i d e op r o t o c o ls t a c k 在发送方的数据面,压缩且经过a s f 编码的视频数据被读出并在 r t p r t c p r t s p 层上打包,提供定时和同步信息以及包的序列号。然后把这些打 包的r t p 数据流发送到u d p t c p 层和层,得到的i p 包在网络上传输a 在接收 包的k 1 1 p 数据流发送到u d p t c p 层和碑层,得到的i p 包在网络上传输。在接收 方则按照相反的方向处理。在控制面,r t c p 包和r t s p 包在u d p t c p 层上复用, 并且被送到i p 层,以便通过网络传输 4 】。 2 1 1r t p 协议 2 ,1 1 1r t p 固定头域 r t p 头格式如下: 0】3 d1234j678901234j67g901234j67g901 h 2ip x l c c l m l f r s e q u m e e n u m bl t扫n嚣协fnp s y n c h f 锄虹砒曲ns o l | f c c ( s s r c ) i d e n t i 丘甘 l c 叫吐f i b 址i n gs 。w c e ( c s r c ) i d e 出n 曩 fi 图2 2r t p 头格式【5 】 f i 晷2 2r t ph e m f o r m a t 头1 2 个字节在每个r t p 包中都有,而c s r c 标识列表仅在有混合器插入的时 候才有。各段具体意义如下: 1 版本( v ) :2 b i t r t p 版本信息。目前版本是2 。( r t p 第一版草案是版本1 ,最初应用在“v a t ” 音频工具中的是第0 版) 2 填充位( p ) :l b k 如果填充位置1 ,末尾有一个或者多个附加的非有效载荷的填充字节。填充的 最后一个字节是该忽略的填充数目,包括本身所占一个字节。填充在按照固定块 大小加密的加密算法中或者在低层的协议数据单元中装载几个r t p 包时可能需 要。 3 扩展位( x ) :l b i t 如果扩展位置1 ,固定头后必须跟了一个头扩展。 4 c s r c 计数( c c ) :4 b i t c s r c 计数包含了紧跟在固定头后的c s r c 标识符的个数。 5 标记( m ) :1 b i t 在序言中定义了该标记的具体解释,目的是允许重要事件在包流中标记出来。 序言可以定义附加的标记位,或者通过改变有效载荷类型域中的数据位来指示没 有标记位。 6 有效载荷类型( p t ) :7 b i t 定义r t p 有效载荷的格式,通过应用程序定义具体的说明。序言可以指定和 有效载荷格式相对应的有效载荷码的默认静态影像码。附加的有效载荷码可以通 过非r t p 方式动态定义。在r f c3 5 5 1 中定义了一系列音频和视频的默认映射初集。 会话中,r t p 元可以修改有效载荷的类型,但是该域不能用于复用单独的媒体流。 对于有效载荷类型无法识别的数据包,接收方一律忽略。 7 序列号( s e q u e n c en u m b e r ) :1 6 b i t 每发送一个r t p 数据包序列号就增加1 ,这样接收方可以检测到数据包的丢失 重新保存包序列。序列号的初始值是随机的,这样可以加大被人窃取攻击的难度。 8 时间戳( t i m e s t a m p ) :3 2 b i t 时间戳反映了r t p 数据包的第一个字节的采样信息。采样信息由单调、线性 的时钟导出,允许同步与抖动时间计算。时钟必须有足够分辨率,满足所需同步 和测定包到达抖动精度。时钟频率依靠有效载荷中装载的数据的格式,在序言中 或者定义格式的有效载荷格式说明中静态定义,或者也可以通过非r t p 方式动态 定义有效载荷的格式。如果r t p 包是周期生成的,名义上的采样信息就通过采样 时钟决定,而不是读一次系统时钟。例如,对于固定速率的音频每个采样周期时 间戳就增加。如果音频应用程序读一次覆盖了输入设备的1 6 0 个采样周期,每 读一块这样的数据块,时间戳就增加1 6 0 ,而不管这一块是在一个包中传输还是被 丢弃了。 像序列号一样,时间戳的初始值也应该是随机的。如果几个连续的r t p 包在 逻辑上是同时生成的就具有相同的时间戳,比如同一个视频帧。如果数据不是以 采集顺序发送,像m p e g 插入的视频帧,连续r t p 包包含的时间戳可能不是单调 的。 源自不同的媒体流的r t p 时间戳可能以不同的速率,单独的随机的偏移步进。 因此,尽管由这些时间戳就足以重建一个单独流的时间,直接比较从不同的媒体 源的r t p 时间戳对于同步来说效率不高。相反,对于每个媒体r t p 时间戳和采样 间隔是通过参考的时钟配对关联起来的,这个参考时钟代表了和r t p 时间戳相对 应的数据的采样时间。所有的媒体都共享参考时钟来达到同步。不是每个数据包 中都传输了时间戳配对信息,而是在更低速率的r t c ps r 包中传输。 采样间隔( i n s t a n t ) 的选择目的是r t p 时间戳的参考,因为已知传输端点对于 所有的媒体信息是一个通常的定义,独立于编码延迟或者其他处理。目的是允许 所有的媒体的同步描述都在同一时刻采样。 9 s s r c :3 2 b i t s s r c 段定义了同步源。标识应该是随机选择的,防止在同一个r t p 会话中有 两个同名的同步源。尽管多个源选择相同的标识的可能性是很低的,所有的r t p 实现都必须具有检测和防止碰撞机制。如果源改变了源传输地址,就必须选择一 个新的s s r c 标识防止被解释为循环源。 1 0 c s r c 列表:0 到1 5 项,每个项都3 2 b i t c s r c 列表定义了该包中的有效载荷的所有源的标识。c c 域给出标识的数量。 如果有多于1 5 个作用源( c o n t r i b u t i n gs o u t c c ) ,只能标识出其中的1 5 个。c s r c 标识由混合器( m i x e r ) 加入,使用作用源的s s r c 标识。例如,对于音频包来说 所有的被混合生成个包的s s r c 都被列出来了。 2 1 1 2 复用r t p 会话 为了使协议有效运行,应该降低复用点的数量,正像集合层处理设计规则( 1 0 ) 描述的那样。在r t p 中,复用是由多个目标传输地址提供( 网址和端口号) ,每个 r t p 会话都有不同的传输地址。例如,有单独编码的音频和视频媒体组成的远程 电信会议中,每个媒体都用单独的r t p 会话来携带,而且有自己的目标传输地址。 单独的音频和视频数据流不能用相同的r t p 会话携带,分解复用是基于有效载荷 类型或者s s r c 载荷类型的。 21 1 3r t p 头的序言特定修改 现在的r t p 数据包的头完全符合所有的r t p 可能支持的应用程序类型的通用 功能。然而,为了和a l f 设计规则相致,头可以在允许序言独立监视和记录工 具的情况下,通过修改或者在序言说明中适当的附加信息进行功能裁减。 标记位和有效载荷类型域含有序言说明信息,但是它们是放在固定头里 的,因为很多应用程序都要用着它们,不然的话就不得不为了装载它们而 附加另外3 2 b i t 字。含有这些域的字节可以在序言中重新定义来满足不同 的需要,例如更多或者更少的标记位。如果有标识位,其中的一位必须放 到这个字节的最高位,因为独立于序言的监视器可能能够检测出包损失格 式和标识位的关系。 特定有效载荷格式的附加信息,例如编码,应该放在包的有效载荷段中。 可以放在有效载荷段起始的头里,也可以用数据格式的一个保留值来指 不。 如果特定类型的应用程序需要独立于有效载荷格式的附加功能,那些应用 程序运行所符合的序言应该在现存的头的紧跟s s r c 域后附加固定域。这 些程序能够迅速直接访问附加域,而独立于序言的监视器或者记录器也能 通过解析头1 2 个字节信息就处理r t p 包。 如果在所有的序言中都附加了相同的附加功能,就要定义一个新版本的r t p , 在固定头域中作永久性修改。 2 1 1 4r t p 头扩展 注意只在有限的使用范围内要求头扩展。使用这个机制最好通过另外的方式实 现,使用前段描述的方法。例如,给固定头的序言说明扩展处理起来就更加廉价, 因为既不是有条件的也不是可变的位置。特定有效载荷格式的附加信息不应该使 用头扩展,但是应该在包的有效载荷段中携带。 如果r t p 头的x 位为1 ,在r t p 头中必须追加可变长度的头扩展,如果c s r c 列表存在就紧跟其后。头扩展中包含了1 6 b i t 长度域,存放的是扩展中的3 2 b i t 长 度字的数量,不包括四字节的扩展头( 因此0 也是有效长度) 。只有一个单独的扩 展能够追加到r t p 数据头后。为了允许每个协调工作的多个互相作用的实现和不 同的头扩展相独立,或者允许某一特定执行能够和多于一个类型的头扩展协调工 作,头扩展的头1 6 b i t 数据用于区分标识或者参数。这1 6 b i t 数据的格式定义符合 实现所遵守的序言说明。r t p 说明不定义任何头扩展本身。 0 l23 0 】23 4 5 6 7 8 9 012 3 4 5 678 9 012 3 4 5 6 7 8 9 01 d e f i n e d b y p r o f i l e k n 础 l a e a 如re x t e n s i o n j 图2 3r t p 头扩展 f i g 2 3r t p h e a de x t e n s i o n 2 1 2r i p 控制协议_ r t cp 【5 】 r t p 控制协议( r t c p ) 将控制包周期发送给所有连接者,应用与数据包相同 的分布机制。下层的协议必须提供数据包和控制包的复用,例如使用单独的u d p 端口号。r t c p 具有四个功能: 第一个功能是提供数据发布的质量反馈。r t c p 是作为r t p 传输协议的一部分, 与其他传输协议的流和阻塞控制有关。反馈对自适应编码控制直接起作用,但i p 多播经验表明,从发送者收到反馈对诊断发送错误是至关重要的。给所有参与者 发送接收反馈报告允许问题观察者估计哪些问题是局部的,哪些是全局的。诸如 i p 多播等发布机制使网络服务提供商类团体可能接收反馈信息,充当第三方监控 者来诊断网络问题。反馈功能由r t c p 发送者和接收者报告执行。 第二个功能是r t c p 携带了一个r t p 源永久传输层标识,即规范名字或者 c n a m e 。如果发现了冲突或者程序重新启动s s r c 就会改变,接收方需要c n a m e 跟踪每个参与者。接收方也需要有c n a m e 来从一系列相关的r t p 会话中把多个 给定的参与者的多个数据流联合起来,例如把音频和视频数据同步起来。媒体内 部的同步也要求数据发送方的r t c p 包中包含的n t p 和r t p 时问戳。 前两个功能要求所有的参与者都发送r t c p 数据包,因此必须控制速率来适应 大量的参与者。通过每个参与者都把自己的控制包发送给所有的参与者,每个都 能独立的观察参与者的数目。这个数目用于计算数据包发送的速率。 第4 个可选功能是传达最小的会话控制信息,例如在用户接口处显示参与者身 份。这在“松控制”会话中最有用,这类会话中参与者进入或离开而不需要成员 控制或者参数信息。r t c p 提供到达所有参与者的一个方便的渠道,但是并不要求 支持应用程序的所有控制通信要求。可能需要更高层的会话控制协议,但是已经 超过了本文探讨的范围。 头三个功能应该用于所有的环境中,尤其在i p 多播的情况下。r t p 应用程序 设计者应该避免只能在单播的情况下工作的机制,也不能适应更大的数量。r t c p 传输可以为发送方和接收方单独控制,例如接收方无法接收到反馈的单向连接中。 2 1 2 1r t c p 包格式 下面定义了几个携带变化的控制信息的r t c p 包类型: s r :发送方报告,源于活动发送方参与者的用于传输和接收统计。 r r :接收方报告,源于非活动发送方的参与者用于接收统计,和s r 组合起来 用于活动发送者报告多于3 1 个源。 s d e s :源描述项,包括c n a m e 。 b y e :显示参与中止。 a p p :应用程序特定功能。 和r t p 数据包中的内容类似,每个r t c p 包都以固定的部分开头,之后紧跟 和包类型有关的长度可能变化的结构化的元素,但是必须以3 2 b i t 为边界结束。包 含了排列要求和每个包中的固定部分内的长度域使r t c p 包“可堆叠的”。多个 r t c p 包不用插入分隔部分就可直接连接到一起形成一个复合r t c p 包,这个复合 的r t c p 包在低层的协议中用一个单独的包发送出去,如u d p 。在复合包中没有 精确的r t c p 包的数量,因为更低层协议只要提供整个长度就可以决定复合包的 结束。 复合包中的每个单独的r t c p 包都可以单独处理而不依赖于组合包的顺序或 者组合。然而,为了执行协议的这些功能,必须满足如下限制: 接收统计( s r 或者r r 中) 应该经常发送,只要带宽允许,因此每个周期 性的传输的复合r t c p 包中必须包含有报告包。 + 新的接收者需要接收c n a m e ,并尽快识别源,并开始连接媒体进行同步, 所以每个复合r t c p 包都必须包括s d e sc n a m e ,除非复合r t c p 包分割开用于 部分加密。 + 出现在组合包前面的是包类型数量,其增长应该受到限制,以提高常数位数 量。 因此,所有的r t c p 包必须用至少有两个单独包的复合包传输,用如下格式: ( 1 ) 加密前缀( e n c r y p t i o np r e f i x ) : 仅当复合包被加密,才加上一个3 2 位随机数用于每个复合包发送。 ( 2 ) s r 或r r : 复合包中的第一个r t c p 包必须总是一个报告包,方便头的确认。即使没有数 据发送或者接收,也必须发送空的r r ,哪怕复合包中的另一个r t c p 包是b y e 。 ( 3 ) 附加r r : 如果接收统计报告的源的数量超过了3 1 ,在初始报告包后面应该附加r r 包。 ( 4 ) s d e s : 每个复合r t c p 包必须包含c n a m e 项的s d e s 包。其他源描述项可选,但受 到带宽限制。 ( 5 ) b y e 或者a p p 其他的r t c p 包类型可以任意顺序排列,但是b y e 应作为最后一个包发送, 包类型出现可以不止一次。 建议转换器( t r a n s l a t o r ) 或者混合器( m i x e r ) 从多个组合单个的r t c p 包。如 复合包整体长度超过了网络路径最大传输单元,可以分成多个较短组合包用低层 协议以单个包形式发送。注意,每个复合包必须以s r 或者r r 包开始。附加r t c p 包类型可在i n t e r a c t a s s i g n e dn u m b e r s a u t h o r i t y ( i a n a ) 处注册。注意每个复合包 都必须用s r 或者r r 包开始。 程序要能够忽略接收到的r t c p 包中无法识别类型的包。 2 1 2 2 发送方与接收方报告 r t p 接收方使用r t c p 报告包提供接收质量反馈,报告包根据接收方是否是发 送者而采用两种格式中的一种。除包类型代码外,发送者报告与接收方报告间唯 一的差别是发送方报告包含一个2 0 个字节发送方信息段。如某地址在发出最后或 前一个报告间隔期间发送数据包,就发布s r ;否则,就发出r r ;s r 和r r 都可 没有或包括多个接收报告块。发布报告不是为列在c s r c 列表上的起作用的源, 每个接收报告块提供从特殊源接收数据的统计。既然最大可有3 1 个接收报告块嵌 入在s r 或r r 包中,附加r r 包可堆叠在初始s r 或r r 包之后。 发送方报告包由3 部分组成,也可能还有第四个特定设置扩展部分。 第一部分为头,8 个字节长,包括了版本( v ) 、填充位( p ) 、接收报告计数( r c ) 、 包类型( p t ) 、长度、同步源标识( s s r c ) 等信息。 第二部分为发送方信息,2 0 个字节,出现在每个发送方报告包中。包括了n t p 时间戳、r t p 时间戳、发送方包计数、发送方字节计数等信息。 第三部分包括接收报告块,大小与自最后个报告来发送方监听的其他源数量 有关。每个接收报告块传输单个同步源接收r t p 包的统计。发生冲突,当源改变 s s r c 标识时,接收方并不继续统计。这些统计包括:s s r cn ( 源标识) 、丢失部 分、丢失包累积数、收到已扩展的最高系列号、时间抖动、最后s r 时间戳( l s r ) 、 自最后一个s r 来的延迟( d l s r ) 统计。 2 1 2 3s d e s :源描述r t c p 包 s d e s 包为三层结构,由头与数据块组成,数据块可以没有,也可以有多个, 组成项描述块所表明的源。 项描述如下: 1 版本( v ) 、填充( p ) 、长度:如s r 包中所描述。 2 包类型( p t ) :8 b i t ,包含常数2 0 2 ,区别r t c ps d e s 包。 3 源计数( s c ) :5 b i t ,包含在s d e s 包中的s s r c c s r c 块数量,零值有效, 但没有意义。 4 ,源描述项内容包括:c n a m e 、n a m e 、e - - m a i l 、p h o n e 、l o c 、t o o l 、 n o t e 、p r i v 。 1 ) c n a m e :规范终端标识s d e s 项。 2 ) n a m e :用户名称s d e s 项。 3 ) e m a i l :电子邮件地址s d e s 项。 4 1p h o n e :电话号码s d e s 项。 5 ) l o c :用户地理位置s d e s 项。 6 ) t o o l :应用或工具名称s d e s 项。 7 ) n o t e :通知状态s d e s 项。 8 ) p r v :专用扩展s d e s 项。 2 1 2 4b y e :断开r t o p 包 如混合器接收到一个b y e 包,混合器转发b y e 包,而不改变s s r c c s r c 标 识。如混合器关闭,它也应该发出一个b y e 包,列出它所处理的所有源,而不只 是自己的s s r c 标识。作为可选项,b y e 包可包括一个8 b i t 的字节计数,后跟很 多字节文本,标识离开原因,如:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论