(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf_第1页
(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf_第2页
(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf_第3页
(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf_第4页
(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机科学与技术专业论文)流媒体代理服务器系统的设计与实现.pdf.pdf 免费下载

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

文档简介

麓攥体传输代理服务系统特设计与实现 流媒体传输代理服务系统的设计与实现 摘要 随着计算机网络技术和多媒体技术的发展,流媒体正成为互联网 应用的主体,推动了互联网整体架构的革新,拉动信息经济的发展, 在互联网媒体传播方面起到了主导的作用。各种多媒体应用也越来越 普及,视频点播、视频会议、网络电视、网络直播等都有着非常大的 实用价值。 流媒体应用的广泛普及使得流媒体服务器的负担越来越重。特别 是在网络商播应用中,流媒体服务器不仅要完成现场图像的编解码, 还要实时响应客户的要求,发送媒体数据,很容易成为整个应用的瓶 颈。 使用单独的结点对传统流媒体服务器进行任务分流,是解决问题 的关键所在。通过把流媒体代理服务系统置于客户端与服务器之间, 既能降低客户端播放器的启动延迟时间,又能节约部分网络带宽。代 理服务器系统之间还可以级连,因此还能够满足响应更多用户点播请 求的需要。流媒体传输技术和缓存技术的实现对于构建代理服务器系 统至关重要。 流媒体传输主要通过三个实时协议来实现。r t s p 协议是一个实 时流协议,用于控制具有实时特性的数据发送,但r t s p 本身并不传 输数据。实时传输协议r t p 是在点到点通信或者多播网络上实时传 输流媒体数据的实时传输协议,其本身并不能为按顺序传送数据包提 供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠实时传输 控制协议r t c p 提供这些服务。 在整个代理服务器系统中,通过构建r t s p 交互模块,实现客户 端和服务器端之间的几乎所有r t s p 通信。两在数据发送模块和缓存 模块中,根据视频点播和视频直播的需求不同,将两种应用分开进行 处理。其中,在媒体点播服务中设置热点点播节目源。当用户点播的 节目属于热点节目时,代理服务器系统将从本地直接将r 1 、p 数据包 传送给客户端,而无需再通过媒体服务器发送。在一定程度上提高了 系统性能和节约了网络资源。 童撵体传输代理履务系统的设计与赛琨 关键字:流媒体,实时流协议,实时传输协议,实时传输控制协议, 流媒体缓存 漉鬈体传输代理服务系统的设计与实现 d e s i g na n di m p l e m e n t a t i o n o fs t i 也a m i n gm e d i ap r o x ys y s t e m a b s t r a c t a l o n gw i t ht h ed e v e l o p m e n to fc o m p u t e rn e t w o r k sa 1 1 dm u l t i m e d i a , t h es 仃e a m i n gm e d i ai sb e c o m i n gt h em a i np a r to fi n t e m e t a p p l i c a t i o n i t p m m o t e st h ei n n o v a t i o no ft h eo v e r a l ls t r u c t u r eo fi n t e m e ta n ds t i m u l a t e s t h ed e v e l o p m e n to ft h ei n f o r m a t i o ne c o n o m y t h e s t r e a m i n gm e d i ap l a ya i e a d i n gr o l ei ns p r e a do fi n t e m e tm e d i a a p p l i c a t i o n so fm u l t i m e d i as u c h a sv i d e oo nd e m a n d ,v i d e oc o n f e r e n c e ,n e t w o r kt vb r o a d c a s tn e t w o r k a n ds oo na r eb e c o m i n gm o r ea n dm o r ep o p u l a ro n a l lt h e s ea p p l i c a t i o n s h a v eg r e a tp r a c t i c a lv a l u e s , t h ew i d ep o p u l 撕t yo ft h ea p p l i c a t i o n so fs t r e a m i n gm e d i ai n c r e a s e s m ed e m a n df o rt h es e r v e ro fs t r e 锄i n gm e d i a e s p e c i a i l yi nb r o a d c a s t n e t w o r k ,t h es e r v e ro fm u i t i m e d i an o to n l yn e e dt oc o d ea n dd e c o d e p i c t u r e sb u ta l s on e e dt or e s p o n s et h ec l i e n t s r e q u i r e m e n t si nt i m e ,a j l d s e n dm e d i ad a t a a i lt h e s er e q u i r e m e n t se a s i l yf o n nab o t t l e n e c ko ft h e s e n ,e ro f s t r e a m i n gm e d i a i t st h ek e yo ft h ep r o b l e mt 0u s ea s i n g l en o d e t od i s t r i b u t et h et a s k s o ft h et r a d i t i o ns t r e a m i n gm e d i as e r v e r i tc 锄d e c r e a s et h et i m eo fc l i e m p l a y e ri nl a u n c hd e l a ya n ds a v ep a r to ft h en e t w o r kb a n d w i d t ht h r o u 曲 藏掌体传输代理服务系统的设计与实琨 s e t t i n gt h es t r e a m i n gm e d i ap r 【y s e n ,e rs y s t e mb e t w e e nc l i e n t 卸d s e r v e r i ta l s oc 锄r e s p o n s em o r ec l i e n t s d e m a n d b e c a u s et h es t r e 锄i n g m e d i ap m x ys e n r e rs y s t e m sc b ec a s c a d e d t h ei m p l e m e n t a t i o 吣o f s t r e a m i n gm e d i at r a n s m i s s i o na i l dc a c h i n gt e c h n o l o g ya r ev e 拶i m p o r t 孤t i nb u i l d i n gs t r e a m i n gm e d i ap m x ys e r v e rs y s t e m s t h et e c i l n o l o g yo f s 仃e 锄i n gm e d i at m n s m i s s i o ni sm a i n l ya c h i e v e d t h m u g ht h r e er e a l t i m ep r o t o c o l s r t s pi sap r o t o c 0 1w h i c hi su s e dt o r e p r e s e n ta n dc o n t m lt h es t r e a n l i n gm e d i a i tc o n t r o l st h es e n do ft h er e a l t i m ed a t ab u td o n ts e n dd a t a r t pi sar e a lt i m et r a n s p o r tp r a t o c o lw h i c h i su s e dt ot r a i l s p o r tt h es t r e a m i n gm e d i ad a t ai nt i m ei np e e rt op e e r c o m m u n i c a t i o n so rm u l t i c a s tn e t w o r k s i tn e i t h e r p r o v i d e sa n y m e c h a n i s m st h a ta s s u r et h ed a t as e n di 1 1s e q u e n c en o rp r o v i d em en o w c o n t r o la n dc o n g e s t i 彻c o n t r 0 1 a l lt h e s es e r v i c e sa r ep r o v i d e db yt h er e a l t i m et r a n s p o nc o n t r o lp r o t o c o l r t c p a l m o s ta l li r s pc o m m u n i c a t i o i l sa r ea c h i e v e dt h o u g hb u i l d i n g i n t e r a c t i v em o d u l e so fr t s pi nt h e 、v h o l es t r e a m i n gm e d i ap r o x ys e n ,e r s y s t e m i nt h em o d u l e so fd a t as e n d 呈n ga n dc a c h i n gt h es y s t e mp r o c e s s t h et w o 印p l i c a t i o n s 印a r ta c c o r d i n gt ot h ed i 行e r e mr e q u i r e m e n t so f v i d e oo nd e m a n da n dv i d e ob r o a d c a s t t h es e r v i c eo fm e d i ao nd e m a n d s e ts o m eh o tp r o g r a m sa n dw h e nu s e r sd e m a n ds u c hh o tp m g r a m st h e s t r e a m i n gm e d i ap r o x ys e n ,e rs y s t e ms e n di u pp a c k c t s t oc l i e n t sd i r e c t l y f r o ml o c a li n s t e a do ft h r o u g ht h em e d i as e r v e rt h m u 曲w h i c hm es y s t e m i v 漉媒体传输代理服务系统的设计与实现 c a ni m p m v et h ep e r f o 珊a n c ea 1 1 ds a v en e t w o r kr e s o u r c e s k e yw o r d s :s t r e a m i n gm e d i a ,r t s er t er t c p ,p r o x ys e r v e r 独创性( 或创薪性) 声明 本人声明所争交的论文是本人在导师指导f 进行的研究 作及取得的研究成果。尽我所 知| ,除了文中特刹加以标注幕i 致谢申所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果也不包含为获得北京邮电人学或其他教育机构的学位或证书而使_ i i 过的材 料。与我一同i :作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢 意。 中请学位论文与资料若有不实2 处。本人承担一切相犬责任 本人签乞:埠日期:一= 逸牡 关于论文使_ j 授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究尘在校攻读学位期l 且j 论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅:学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属丁保密在一年解密后适州本授权1 5 。非保密论文注释:本 学位论文不属丁- 保密范嗣适_ e f j 本授权 5 。 本人签名: 导师签名: 日期: 流媒体传鞠代理腰务系统曲设计与实现 1 1 背景介绍 第一章绪论 随着网络技术的飞速发展,网络上的信息不再只是文本、图像或者简单的声 音文件。视频将会在整体信息中占很大比例。然而普通的视频、音频等多媒体文 件通过i n t e m e t 下载到本地再进行播放,需要很长的下载时间。为了解决这个问 题。一种新的技术孕育而生,这就是遵守特定网络协议的流媒体技术。当前,流 媒体技术应用越来越广泛,其在互联网媒体传播方面所起的作用越来越明显。其 中视频点播、远程教育、视频会议、在线直播、网上新闻发布和网络广告等应用 逐渐发展成熟,极大地方便了全球范围内人们的信息和情感交流。几年以前,网 站臣头y a h o o 公司创始人杨致远曾预言,鉴于宽带网络用户数量同益增加,企业 高度重视流媒体技术的时候到了。他说:”从早期发展向大规模应用的过渡已基 本完成,我们相信通过网络传播多媒体信息的条件已经成熟,流媒体技术腾飞的 时刻即将到来。”事实上,当前我们己经身处流媒体技术腾飞的时代。 从国际权威机构的调查结果可以看到,仅2 0 0 3 2 0 0 4 年在网上访问流媒体的 人数就增加了6 5 ,西方网络发达国家访问流媒体的人数已达到3 1 亿人,约占 网民的1 ,3 ,在亚洲也迅速增加到2 亿人,接近网民的1 5 。与用户增长相呼应, 互联网上流媒体技术的应用也在逐年大幅度增长,如今流媒体市场己经呈现出巨 大的收入潜能。巨大的市场吸引越来越多的企业参与竞争,a p p i e ,c i s c o ,k a s e l l l l a p h i l i p s 和s u n 在几年前宣布成立互联网流媒体联盟( i s m a ) ,意在共同推动流媒 体市场的发展,并制订相应的开放标准和实施协议,一个全球化的流媒体市场和 竞争格局在那时己初步形成。如何在这个市场领域取得份额,成为当前诸多企业 关注的焦点,国内外厂商的纷纷拥入,将使我国的流媒体市场更加活跃、更加成 熟,当然竞争也将更加激烈。现在看来,流媒体的影响与作用无疑是积极喜人的, 它将成为今后网络媒体的重要形式,牵动着时代的迅速发展。 当前我国政府讵大力推广i n t e m e t 及宽带网络,出此带来了网络应用与网络 内容服务的迅速发展与普及,这为流媒体业务的迅速发展提供了强大的市场动 力。加之证在兴起的网络电视计划,使得设计一个高可用、高安全、高性价比和 高伸缩性的流媒体播放系统显得非常需要和适时。在流媒体播放系统中,流媒体 播放器作为一个客户端应用软件与流媒体服务器、流媒体的编解码技术并列成为 其中最重要的三个组成部分。对于流媒体播放器来讲,网络子系统的设计、流媒 体相关协议栈的实现以及媒体流的同步又是其中核心组成部分,决定着流媒体播 流露体传输代理臆务系统的设计与实瑰 放器的播放质量与效果。 随着流媒体应用的同益普及和流行,对传统流媒体服务器的压力也r 益增 大。需要对r 益增多的客户的连接请求进行应答,大大降低了流媒体应用的质量。 特别是在现场直播等实对应用中,服务器还需要将摄像头采集的实时数据进行编 码。这样很容易使服务器负载过大而产生瓶颈。 针对以上问题,如果在客户端和传统媒体服务器之问设计一个代理服务器, 专门用来响应客户请求。而传统的媒体服务器只和代理服务器进行交互,这样媒 体服务器的负载就大大减轻。特别是在现场直播热门活动等点播数量很大的情况 下,作用就更加突出。代理流媒体服务器能够实现更多用户更快的连接到流媒体 服务器、更高质量的使用流媒体服务。 作者参加了整个课题的f j 期研究、系统设计、丌发和后期的测试、部署。在 整个过程中,研究了传输会话的交互、流媒体数据传输、缓存的方法。在此基础 上完成了本篇论文。 1 2 研究目标及工作内容 本论文主要的工作和研究目标如下: 1 研究流媒体传输所涉及的相关协议,包括r t s p 、r 卯、r t c p 、s d p 等: 通过查阅相关文献和r f c 文档,理解协议流程和熟悉协议的内部细节。为具体 丌发阶段打下基础。 2 对系统设计方案进行研究:通过前期调研以及文献的查阅和团队讨论, 对课题系统方案进行反复研究,针对可能出现的问题预先给出解决思路,为下一 步的顺利开发起到了指导性作用。 3 通过前面对协议的理解和学习,完成代理服务器与客户端的控制交互、 数据传输,以及代理服务器与媒体服务器的交互与数据传输。 4 对流媒体数据的各种缓存方法进行学习研究:通过查找文献和实验测试, 运用一种最为合适的数据缓存方法。从而达到提高系统性能和优化流媒体服务质 量的目的。 5 系统完成以后,通过测试给出本课题的实验结果,也就是本课题的必要 性。 1 3 本文内容结构安排 本文按以下章节组织: 第一章绪论 菠攥体传输代理服务系统的设计与实现 介绍论文背景、研究目标及工作内容。 第二章代理服务系统的相关技术概论 本章首先概要的介绍了流媒体技术。然后介绍了流媒体传输过程中用到的主 要的协议。各种协议的作用、流程与详细细节。最后介绍了流媒体同步的意义、 参考模型和数据缓存的必要性、意义。 第三章流媒体代理传输系统的设计方案的研究 主要阐述了整个系统的设计思路和整体系统架构。同时对系统各模块的设计 进行了论述。 第四章代理服务系统方案的实现 主要介绍了各个模块的具体实现方法。包括流媒体传输的主要协议的实现过 程和细节,以及如何通过流媒体协议、数据缓存方法、网络程序设计对系统方案 进行具体实现。最后给出实验结果。 第五章结束语 总结本论文,指出在以后的研究中需要进行的工作 最后是致谢和参考文献。 流篡体传输代理晨务系统的设计与实现 第二章代理服务系统相关技术概论 2 1 流媒体技术概论 2 1 1 流媒体技术相关概念 流媒体是指网络中使用流式传输技术的连续时基媒体,例如:音频、视频、 动画或其他多媒体文件。我们经常在上网时看到的f l a s h 动画就是一种流媒体 格式。 流媒体技术是指把连续的影像和声音信息经过压缩处理后放到网络服务器 上,让浏览者可以在下载的同时观看和收听,而不需要等到整个多媒体文件下载 完成的技术。实际上流媒体技术是网络音视频技术发展到一定阶段的产物,是一 种解决多媒体播放时网络带宽问题的“软技术”。流媒体技术并不是单一的技术, 它是融合很多网络技术之后所产生的技术。它会涉及到流媒体数据的采集、压缩、 存储、传输以及网络通信等多项技术。 流媒体技术的出现使得在窄带互联网中传播多媒体信息成为可能。改变了长 期以来人们通过互联网观看多媒体资讯的方式。 2 1 2 流媒体技术的实现 由于流媒体技术并不是一项单一的技术,因此要在网络中真正实现流媒体技 术,必须完成流媒体的制作、发布、传输、播放四个环节。在这四个环节中需要 解决多项技术问题。 第一,普通的多媒体数据必须进行处理才能适合流式传输,这是因为普通的 多媒体文件尺寸很大,不能使用现有的窄带网络传输。另外普通的多媒体文件也 不支持流式传输。针对以上两点预处理的工作包括:一是采用高效的压缩算法减 小文件尺寸,二是向文件中加入流式信息。 第二,流式传输的实现需要合适的传输协议。由于i n t e m e t 中的文件传输是 建立在t c p 协议基础上的,但是t c p 的特点决定了它不适合传输实时数据。所 以一般都采用建立在u d p 协议之上的r t p r t s p 来传输实时的影音数据。 第三,流媒体传输的实现需要缓存。i n t 锄e t 是以包传输为基础进行断续的 异步传输。因此多媒体数据在传输中要被分解成许多包,由于网络传输的不稳定 性,各个包选择的路出不尽相同,所以到达客户端的时间先后就会发生改变。甚 麓媒体传输代理履务系统的设计与实现 至会产生丢包现象。为此必须采用缓存技术来弥补数据的延迟,并重新对数据包 进行排序,从而使影音数据能连续输出,不会因网络的阻塞使得播放停顿。 缓存的目的就是在某一段时间内存储需要使用的数据,数据存储在缓存中的 时间是短暂的,播放完的数据即可被清除,新的数据将被存入到缓存中。因此, 在播放时不需要太大的磁盘空间。 2 1 3 流媒体传输概述 2 1 3 1 流媒体传输的特点 流式传输的特点主要有以下两点:【2 1 1 实时传输和实时播放 流媒体使得用户可以立即播放音频和视频,这无论对于获取存储在服务器上 的流媒体音频和视频文件还是对于现场音频和视频流都是很有意义的。 2 可以节省大量的存储空i 日j 预先构造的流文件或用实时编码器对现场信息进行编码得到的现场流都比 原始信息的数据量要小,并且用户不必将所有下载的数据都同时存储在本地存储 器上,从而节省了大量的磁盘空间。 2 1 3 2 流媒体传输的实现方式 目前,实现流式传输主要有两种方法:实时流传输和顺序流传输。一般来说, 如果视频为实时广播,或使用流媒体服务器,或应用如i 邢p 的实时协议,即为 实时流传输。如使用h r r p 服务器,文件即通过顺序流发送,即为顺序流传输, 当然流文件也支持播放前完全下载到硬盘。【3 1 1 顺序流传输 顺序流传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时 刻,用户只能观看自己下载的那部分,而不能跳到还未下载的那部分,顺序流传 输不像实时流传输能够在传输期问根据用户连接的速度做调整。由于标准的 h t t p 服务器可发送这种形式的文件,不需要其他特殊协议,它经常被称作h t t p 流传输。 2 实时流传输 实时流传输保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实 时流传输与h r r p 流传输不同,需要专用的流媒体服务器与传输协议。实时流传 输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进和后退观看 渣媒体传输代理腰务系统的设计与实现 前面和后面的内容。理论上,实施流一经播放就不可停止,但实际上,可能发生 周期暂停。实时流传输需要特定服务器,如q i u i c k n m es 锄i n gs e r v e r 、 r e a i s e r v e r 等。这些服务器允许用户对媒体发送进行更多级别的控制,因而系统 设置、管理比标准h r r p 服务器更复杂。实时流传输还需要特殊网络协议,如 r t s p ( r e a lt i m es 仃e 锄i n gp r o t o c 0 1 ) 或m m s ( m i c r o s o f lm e d i as e r v e r ) 。 2 2 流媒体相关协议的分析与研究 流媒体的网络应用时刻面临着实时的挑战。首先,与传统基于文本的网络应 用相比,流媒体应用通常需要更高的带宽。其次,流媒体应用一般需要实时流量。 例如,人们对声音延迟的容忍不超过2 5 0 m s 。最后,流媒体数据通常具有突发性。 单纯的带宽增加无法解决突发问题,如果没有流量控制,仍然可能导致接收端缓 冲区上溢或下溢。 随着i n t e m e t 基础设施逐步完善,现有网络已经为流媒体应用提供了硬件基 础。因此,如何解决流媒体的高带宽、实时性、突发性等重要挑战,研究流媒体 相关协议成为了至关重要的问题。结合本研究课题,本章主要讨论和研究的流媒 体协议包括:r t s p 、r t p 、r t c p 以及s d p 。”j 2 2 1r t s p 协议实现控制流的通信和会话建立 2 2 1 1r t s p 介绍 r t s p ( r e a l 币m es t r c 砌i n gp r o t o c o l ,实时流协议) 由哥伦比亚大学、n e t a p e 和r e a l 网络公司等共同发起,由i e t f ( i n t 锄e te n g i n e e f i i l g 亿kf o r c e ,互联网工 程任务组) 制定,定义于r f c 2 3 2 6 。该协议定义了一对多应用程序如何有效地通 过i p 网络传送多媒体数据。r t s p 在体系结构中位于r t p 和r t c p 之上,使用 t c p 或r t p 完成数据传输。 r t s p 是一个应用层协议,控制实时数据的传送。该协议目的在于控制多个 数据发送连接,为选择发送通道。r t s p 提供了一个可扩展框架,使实时数据, 如音频与视频的受控、点播成为可能。形象地说,在通信双方间,r t s p 扮演着 “远程遥控器”的角色,利用这个“远程遥控器”,用户可以对音视频提出播放、 暂停、快进、后退等操作。 r t s p 主要的设计特点包括: 1 采用客户服务器模型,服务器维护保持通信状态; 2 基于文本的消息格式,易于解析: 6 流群体传输代理艟务系统的设计与实现 3 独立于传输,可以根据需要灵活采用各种传输协议传输数据; 4 独立于会话控制,仅要求其他协议提供或创建唯一会议标识,s i p 或h 3 2 3 可以用来邀请服务器加入会话: 5 支持多服务器,即每个流可以在不同的服务器上,用户端自动同不同服 务器建立几个并发控制连接,传输层负责同步; 6 支持记录设备控制,可控制记录和回放设备以及控制可在记录和回放切 换的设备: 7 参考和重用h t t p ,可重用 盯r p 部分安全机制,提高防火墙友好性; 8 便于协议扩展,允许自定义方法。提高协议应用灵活性。 r t s p 消息格式 r t s p 消息包括:请求消息和响应消息。请求消息由客户端向服务器发出, 响应消,宙,由服务器向客户端作应答。消息文本采用i s o1 0 6 4 6 字符集,使用 u t f - 8 编码方案。消息格式分别如图2 1 图2 2 所示: 圈2 1r t s p 请求消息格式 图2 2r t s p 响应消息格式 其中:s p 为空格;c r 为回车;l f 为换行标识:主体实体可以是s d p 等信 息:消息结束以c rl f 空行作为标识。 r t s p 定义的方法 r f c 2 3 2 6 定义了r t s p 的1 1 个方法。其中很多方法与状态无关,但下列方 法在定义服务器流数据资源的分配与应用上起着重要的作用: 1 s e t u p 方法:让服务器给流分配资源,启动r t s p 会话; 2 p l a y 方法:启动s e t u p 分配流的数据传输; 麓露傩传输代理腰务系统的设计与实理 3 p a u s e 方法:临时停止流,而不释放服务器资源; 4 t e a r d o w n :释放流的资源,r t s p 会话停止; 图2 3 是一个简单的服务器端的状态机: 图2 3 简单的服务器端的状态机 其他重要的方法还包括: 5 0 p t l 0 n s 方法:客户端和服务器端相互通知双方可接受的通信选项: 6 d e s c r j b e 方法:客户端向服务器请求获取对媒体对象的描述; 7 a n n o u n c e 方法:客户端将表示描述或者媒体对象提交给服务器;服 务器端发送给客户端实时更新会话描述。 2 2 12r t s p 通信过程 i 汀s p 客户端和服务器端基本通信过程如图2 4 所示 滚媒体传输代理腠务系统的设计与实现 客户端 服务器端 图2 4r t s p 通信交互过程时序图 下面以一个请求播放m p 3 文件为例,展示客户端通过哪些步骤和服务器端通 信: 1 向服务器端发起o p t i o n s 请求消息,接收服务器响应。响应消息中包 含了服务器支持的方法名。o p t i o n s 请求消息见图2 5 ,响应消息见图2 6 。 l ! 塑! ! f 图2 5o p t i o n s 请求消息 图2 60 p t i o n 响应消息 麓媒体传输代理服务系统的设计与实现 2 向服务器端发起d e s c i u b e 请求消息,接收服务器响应。请求消息包含 请求获得的媒体名。响应消息包含了服务器对该媒体的s d p 描述。消息格式分 别如图2 7 图2 8 所示。 d e s c r i b e r t s p :,5 9 斟1 5 9 ,2 0 4 :8 5 5 4 m p 3 a u d i o t e s t r t s p 1 o c s e q : 2 a c c e p t :fa p p i i c a t i o n ,s d p 图2 7d e s c r i b e 请求消息 图2 8d b s c r i 舳响应消息 3 向服务器发起s e t u p 请求消息,通告自己使用的r t p 端口。响应消息 包含了服务器为这个r t s p 会话分配的s s i 蚰号。消息格式分别如图2 9 图2 1 0 所示。 s e t u p n s p :5 9 6 4 1 5 9 2 0 4 :8 5 5 4 m p 3 a u d i o t e 彬晚c k l r t s p 1 o c s e q : 3 t r a n s p o n :lr t p a v p ;u n i c a s t ;c l i e n u 噼= 6 9 7 0 6 9 7 l 图2 9s e t u p 请求消息 r t s p 1 o2 0 0o k i c s e q : 3 【t r a n s p o r t :r t p a v p ;u n i c a s t ;c l i e n 恤r t = 6 9 7 0 - 6 9 7 l ;s e r v e r - p o r t = = 6 9 7 0 6 9 7 l s e s s i o n :4 7 l1 2 3 4 6 图2 1 0s e t u p 响应消息 4 向服务器发起p l a y 请求消息,其中包含请求播放的时间段。响应消息 包含r t p 信息。p l a y 请求消息如图2 1 l ,p l a y 响应消息如图2 1 2 所示。 漉媒体传输代理服务系统的设计与实现 p l a y ln s p :,5 9 6 4 15 9 2 0 4 :8 5 5 4 m p 3 a u d i o t e s t ,t r a c k l r t s p ,i o 图2 1 1p l y 请求消息 r t s p 1 o2 0 0o k c ”a :4 r a n g e :n p t = 0 2 3 4 4 7 l o o o s e s s i o n :4 71 2 3 4 6 r t p l n f b : = n s p :,5 9 “1 5 9 2 0 4 :8 5 5 4 ,m p 3 a u d i o t e 瞅m c k ll s e o :1 8 9 3 0 r t o t _ 1 1 1 e : 1 0 1 1 6 1 1 5 1 7l 图2 一1 2p l “响应消息 2 2 2r t p 协议实现流媒体数据的传输 2 2 2 1 r t p 介绍 r t p ( r e a l n m et r a f l s p o np r o t o c o i ,实时流传输协议) 由哥伦比亚大学等发起, 由i e t f 制定,最新版本定义于r f c 3 5 5 0 。 r t p 本身被设计用来传送实时数据。其功能是提供净荷类型指示( 包括数据 类型和编码方法) 、数据分组序号、数据发送时i 日j 戳和数据源标识。接收端根据 这些信息可以正确地重组原始信号。它提供这种端到端网络传输功能,使之非常 适合于在单播或组播网络上传输音视频等多媒体数据。 r t p 主要的设计特点包括: 1 集成处理:r t p 设计类似于a t m 适配层( a a l ) 。r t p 一般由应用层综 合处理,而不作为一个单独的协议层处理。r 1 1 p 不指定传输协议,可以选择u d p 或t c p 等协议传输:r 1 1 p 不提供传输质量保证的任何机制,本身不支持资源预 留;和控制流采用不同端口,数据流和控制流分离。 2 应用成帧:r t p 仅规定所有应用都需要的公共功能,不对封装承载的数 据格式作假设,允许根据具体应用修改、增加头部信息来满足特定需要。通常, 单一的底层数据报文仅包含单一的r t p 报文。 r t p 报文格式l “j 滚媒体传输代理量务系统的设计与实现 v pxc ch p a y l o a dt y p es e q u e n c e t i m e s t p s s r ci d e n t i f i e r c s r ci d e n t i f i e r p a y l o a d 图2 1 3r t p 报文格式 r t p 报文格式如图2 1 3 所示: 各字段意义如下: ( 1 ) v 字段:2 比特,协议版本信息号; ( 2 ) p 字段:l 比特,填充指示位。是否有填充比特。最后一个填充字节表 明填充比特数: ( 3 ) x 字段:l 比特,扩展指示位。是否扩展r t p 。如果扩展,固定头部 后有扩展头部; ( 4 ) c c 字段:4 比特,固定头部后c s r c 数目: ( 5 ) m 字段:1 比特,标志位,根据不同的应用含义不同。如负载格式为 m p e g 4 时,此位置l 表明这是最后一个r r p 报文。 ( 6 ) p a y l o a d t y p e 字段:7 比特,净荷类型。对音视频数据类型说明,并说 明编码方式。 ( 7 ) s e q u e n c e 字段:1 6 比特,序列号。初始值为随机值,用于接收方检测 分则丢失和恢复分组次序。 ( 8 ) t i m e s t 锄p 字段:3 2 比特,时间戳。初始值为随机数,为同步不同的 媒体流提供采样时间,用于重新建立原始音频或视频时序。此外,还可以帮助接 收方确定数据到达时间的一致性和时延抖动。 ( 9 ) s s r c 字段:3 2 比特,同步源标识。每个数据源分配的随机数标识。 用于帮助接收端区分多个同时的数据流。 ( 1 0 ) c s r c 字段:3 2 比特,分信源标识。c s r c 标识由混合器插入,其值 为组成复合信号的各个分信号的s s r c 标识,用以标识各个组成分信号的信源。 ( 1 i ) p a v l o a d :r t p 净荷,即r t p 传输的数据,如音频抽样信号、压缩视 频数据等。 2 2 2 2 r t p 封装过程 以m p 3 点播文件为例,媒体服务器端通过如下步骤封装r t p 包,实现媒体 溘媒体传输代理服务系统盼设计与实理 文件流化。 设置r t p 报文发送缓冲区,一般缓冲区可设簧为比m r u ( 以太网1 5 0 0 字 节,这晕要考虑底层如u d p 的头部开销) 稍大: 打开m p 3 文件,从m p 3 文件头部获取帧信息。比如帧大小等; 构造r t p 头部各个字段,从文件数据部分读取一帧数据,将它复制到缓冲 区中: 如果没有到达文件末尾,而且r t p 包大小小于m t u ,继续组装r t p 报文; 如果已经封装了足够多的m p 3 帧,条件合适,将这个r t p 报文发送出去。继续 封装下一个r t p 报文,直至到达文件结束或收到终止命令。 封装过程的流程图如图2 1 4 所示; 图2 一1 4r t p 封装流程图 麓基体传输代理履务系统的设计与实瑰 2 2 3r t c p 协议实现数据传输质量的控制 2 2 3 1 r t c p 介绍 r t c p 和r t p 一起定义于r f c 3 5 5 0 中。它采用和数据分组相同的配送机制 向r t p 会话中的所有与会者周期性地传送控制分组,从而提供数据传送q o s 的 检测手段,并获知与会者的身份信息。 r t c p 主要提供如下功能: 1 提供数据传送质量的反馈信息:r t p 作为一个逻辑意义上的传输层协议 并不提供传输服务质量保证。因此r t c p 提供服务质量反馈是r 1 p 传输过程中 一项不可或缺的功能,也和其他传输层协议的流量控制和拥塞控制功能密切相 关。 2 传送r t p 源运输层永久标识:由于r t p 的s s r c 标识在发生冲突或重启 程序时会改变其值,因此接收方需要使用不变的一个标识来跟踪每个与会者。这 个标识称为规范名( c n a m e ) 。规范名的一个重要作用是关联多个相关数据流。 例如,一个影片呻- 的视频流和音频流,虽然分属两个r t p 会话,但它们的r t c p 分组中c n a m e 相同,并且r t c p 报文中包含r t p 时戳和绝对时问n t p 时戳, 从而帮助接收者进行同步处理。 3 确定r t c p 分组发送速率:由于r t c p 分组需要定期发送,在一些场合 尤其是在大规模应用中,r t c p 报文将占用可观的带宽。并且一旦发生拥塞,将 加剧r t c p 报文的发送,从而加剧了网络拥塞。基于以上考虑,i 汀c p 提供确定 自己发送速率的功能,依据r f c 3 5 5 0 ,r t c p 占用的带宽将不超过整个带宽的5 。 2 2 3 t 2r t c p 分组类型和格式 r t c p 定义了五种分组类型: 1 s r ( s e n d e r r e p o n ) :发送者报告。由数据发送者发出的发送和接收统计 数据。 2 r r ( r e c e i v e rr e p o r t ) :接收者报告。由非数据发送者发出的接收统计数 据。 3 s d e s ( s o u r c ed e s c r i p t i o n ) :源描述项。包括规范名c n a m e 。 4 b y e ( b y e ) :指示退出会话。 5 a p p ( a p p l i c a t i o n ) :指示应用特定功能。 每种r t c p 分组由固定头部和若干个可变长度的数据单元组成。分组长度是 3 2 比特的整数倍,头部有长度字段。 瀛嚣雌传输代理疆务系统的设计与实现 r t c p 固定头部 r t c p 规定头部包括如下字段,如图2 1 5 所示: v 字段:2 比特,版本号; p 字段:1 比特,填充指示位。含义同r t p 分组头部; r c 字段:5 比特,接收报告计数。指示本分组包含的接收报告数; p t 字段:8 比特,r t c p 的净荷类型: l e n g t h 字段:1 6 比特,分组长度,包括头部和填充字节; s s r c 字段:3 2 比特,发送该报文的s s r c 标识。 ! ! 堕l 图2 15r t c p 固定头部格式 r r 分组数据单元 r r 分组头部p t 字段为2 0 1 。数据单元包括如下字段,如图2 一1 6 所示: s s r cn 字段:3 2 比特。本报告块所属信源的s s r c 标识; 丢失率:8 比特,自上次s r r r 发送以来,由s s r cn 发来的r t p 丢失比 率; 累计丢失分组数:2 4 比特,从开始接收以来,累计丢失来自s s r cn 的r t p 报文个数; 扩展的已接收最高序号:低1 6 位为接收来自s s r cn 的r t p 数据包最大序 号,高1 6 位为序号循环计数; 到达时延抖动:3 2 比特,r t p 数据包到来时延统计方差估计; l s r 字段:3 2 比特,最末s r 时戳,为最近收到的来自s s r cn 的s r 分组 中n t p 时戳的中间3 2 比特; d l s r 字段:3 2 比特,最末s r 后的时延,自收到最近一个束自s s r cn 的 s r 分组至发送本接收报告块的时间间隔。 s s r cn 丢失率累计丢火分组数 扩展的已接收最高序号 剑达时延抖动 l s r d l s r 图2 1 6r r 数据单元格式 s r 分组数据单元 s r 分组头部p t 字段为2 0 0 。分组数据单元同r r 分组的数据单元,但包含 了一个发送者信息。它包括如下字段,如图2 1 7 所示: n t p t i m e s 切m p _ h 字段:3 2 比特,该s r 发出的绝对时问的整数部分。它是 渡基体传输代理腰务系统的设计与实现 距1 9 9 0 1 1 时| 、日j 差的整数部分; n t p 甄m e s 协m pl 字段:3 2 比特,该s r 发出的绝对时白j 的小数部分。它是 距1 9 9 0 1 1 时间差的小数部分: r t pt i m e s t 锄p 字段:3 2 比特,它指示上面n t p 时戳指示的时间,但时间 单位和初始值和数据分组中的r t p 时戳相同。这个值是利用r t p 时戳计数值和 实际时日j 的关系由相应的n t p 时戳计算得出的; r t p p a c k e t c o u m 字段:自丌始发送起至本s r 生成时发送的r t p 包总个数; r t pb y t e sc o u n t 字段:自开始发送起至本s r 生成时发送的r t p 的总净荷字 节数。 n t pt i m e s t p - h n t pt i m e s t a m dl

温馨提示

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

评论

0/150

提交评论