(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf_第1页
(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf_第2页
(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf_第3页
(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf_第4页
(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)视频服务器关键技术的研究和实现.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 互联网正从一个静态数据内容占主导地位的阶段快速发展成为一个包含 静态媒体内容和连续媒体内容的综合的信息资源库。随着网络带宽和计算机 处理能力的提升流媒体技术成为人们关注的重点。 基于上述背景,在本文中首先研究和分析了目前重要的两个技术:传输 控制技术和流媒体的调度技术。 其次,研究了用于实时传输的相关协议:r t p ( r e a l - t i m et r a n s f e r p r o t o c 0 1 ) 、r t c p ( r t pc o n t r o lp r o t o c 0 1 ) 和r t s p ( r e a l - t i m es t r e a m i n g p r o t o c 0 1 ) 。对这些协议的格式、功能等做了深入的分析和研究。 最后介绍了r y v o d 媒体服务器系统详细设计,这部分内容以上述提及的 r t p 、盯c p 和r t s p 协议的实现应用为主线,阐述了该系统的软件体系结构和 它的工作过程。在传输过程中采用了基于r t c p 反馈信息的速率控制算法来实 现发送速率的控制。在实现的过程,与同类其它产品有所不同,充分考虑了 系统的可移植性。本系统代码完全独立于三大主流媒体开发环境( m i c r o s o f t 的m e d i as e r v e r ,r e a l 公司的r e a ls e r v e r 和a p p l e 公司的啦i c k t i m e 三 大系统) 的s d k 开发包,通过使用标准c c + + 语言和使用跨平台库等手段使 该系统可以在u n i x 系统和w i n d o w s 系统上编译运行。 关键词:流媒体;视频点播;白适应传输;视频质量;实时传输 哈尔滨工程大学硕士学位论文 a b s t r a c t f u t e m e ti sd e v e l o p i n gf r o mas t a g et h a tt h es t a t i cd a t u mc o n t e n t ( t e x ta n d v i s i o n ) p l a y i n ga l ll e a d i n gp o s i t i o ni n t of i nc o m p r e h e n s i v ei n f o l m a t i o ng e s o u i c e s l i b r a r yt h a ti n c l u d e ss t a t i cm e d i a sc o n t e n ta n dc o n t i n u o u sm e d i a sc o n t e n t a l o n g w i t ht h ep r o m o t i o no fn e t w o r kb a n d w i d t ha n dp e r f o r m a n c ea b i l i t yo fc o m p u t e r , s t r e a m i n gm e d i at e c h n o l o g yi sb e c o m i n gt h ef o c a lp o i n to fp u b l i c a c c o r d i n gt o t h ea b o v e ,t h ek e yt e c h n o l o g yi n c l u d eo o s ( u a m m t - s p e e d c o n t r o lt c c h n o l o g ”a n df l o wm e d i ad i s p a t c ht e c h n o l o g yh a v e b e e nr e s e a r c h e di n t h et h e s i s , s e c o n d i y , t h e t eh a sc a r r i e do nr e s e a r c ht op r o t o c o l ss u c ha sr t p ( r e a l - t i m e t r a n s f e rp r o t o c 0 1 ) ,r t c p ( r e a l - t i m et r a n s f e rc o n t r o lp r o t o c 0 1 ) a n dr t s p ( r e a l t i m es t r e a mp r o t o c 0 1 ) t h cf o r m a ta n df u n c t i o n sw e r ed e t a i l e da n dr e s e a r c h e d a tl a s t 。i tw a sd e s c r i b et h a tr y - v o dm e d i as e r v e rs y s t e mw a sd e s i g n e d t h e c o n t c a to fi m p l e m e n t i o na n da p p l i c a t i o nt ot h ep r o t o c o la b o v er u nt h r o u g ht h e s y s t e m 1 1 忙p a r ti n b o u n dt h es o f t w a r em c h i t e c t m ea n dp r o c e s s e s t oa d j u s t s e n d i n gr a t i o , t h es y s t e mi n u o d u c e db a s e do nb a c ki n f o r m a t i o no fr t c p i ti s o r i g i n a lt h a tt h es y s t e mc a nb cc o m p i l e df o ru n a n d w m d o w s 皿l i sc o d em a k e u s eo fs t a n d a r d 出+ + l a n g u a g ea n dl i b r a r i e st h a tc a l lb ei l l su n i xa n dw i n d o w s o s ,r i ou s i n g m a i n s t r e a mt o o l s , s d kt h a tb a s e do um e d i as e r v e r , r e a l s e r v e r , 0 u i c k t m a e k e y w o r d s :m e d i as t r e a m i n g ;v o d ;a d a p t i v et r a n s m i s s i o n ;q o s ;r e a l - t i m et r a n s f e r ; 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导 师的指导下,由作者本人独立完成的。有关观点、 方法、数据和文献的引用已在文中指出,并与参 考文献相对应。除文中已注明引用的内容外,本 论文不包含任何其他个人或集体已经公开发表的 作品成果。对本文的研究做出重要贡献的个人和 集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 作者( 签字) :蝴 日期:妒7 年岁月,ze t 坚垒篓:堡当耋塑圭兰堡鎏三 一。 第1 章绪论 i 1 课题背景和意义 网络多媒体的发展方兴未艾,得益于网络和多媒体促进了计算机的人 性化。随着计算机硬件性能的飞速提高,视频和音频等媒体的存储、压缩、 检索和渲染技术逐渐成熟,多媒体技术进入发展快速时期,同时这些技术 的发展和成熟加速了流媒体应用领域的扩大。目前在点播电视、家庭办公、 远程教育、电子游戏、娱乐点播、家庭购物以及宾馆酒店等行业已经广泛 应用视频点播技术。随着应用进入到各个领域,大规模的视频点播需求越 来越多,因此v o d 点播系统存在的一些问题逐渐显露出来。突出的问题表 现在这样几个方面:传输时延和抖动问题、流媒体服务器服务负荷问题和 效率问题、客户端收看质量问题,并发用户数量少等问题n ,。 在这样的背景下与北京容源世纪科技有限公司进行产品开发合作,开 发了r y - v 0 d 视频点播服务器系统,在对r y r o d 视频点播系统中涉及到的 关键技术的研究过程中,针对目前突出的这几个问题对相关的技术进行研 究并进行优化和改进,开发出更好的产品以满足更高的应用需求。 1 2 课题研究的内容 流媒体服务系统的流媒体从服务器的结构设计设计、信息源的流化、网 络传输、到客户端播放每一个阶段都牵涉到很多技术。在r y - v o d 系统的建设 过程中,从视频质量和发送速率、流媒体的调度技术、多媒体的网络技术以 及流媒体传输的相关协议等几个方面内容进行研究。 1 ) 视频质量保证研究 因为i n t e r n e t 网络是提供尽力服务的一种嘲络,这样就不能保证媒体数 据包不丢失,也不能保证数据包的延时等问题进而导致用户收看视频质量没 有保证。基于这样的矛盾,这部分研究的是除了网络现有的现实状况之外, 围绕网络边缘或端系统进行的提高质量的方法。主要包括自适应传输控制和 速率平滑簧略。 2 ) 视频流媒体的调度技术 哈尔滨r 程大学硕士学位论文 这部分内容是围绕提高服务器的处理能力进行展开的。流媒体的调度技 术就是研究在现有的硬件配置的基础上,如何合理的调度媒体流来提高视频 服务器传输大量的数据能力和提高吞吐量的有效方法。内容包括传统的流媒 体调度算法的分析和与组播技术相结合的补丁算法。 3 ) 流媒体使用的常用协议 在这部分内容里面主要介绍了r t p 、r t c p 、l r r s p 协议。分别介绍了它们 的功能和报文格式以及它们的软件实现。 4 ) 介绍了结合北京荣源世纪科技有限公司开发的的r y - v o d 系统的媒体 服务器部分的设计。 哈尔滨丁程人学硕+ 学位论文 第2 章提高视频质量关键技术的研究 本章着眼于流媒体的服务质量问题,从两个方面进行了研究:流媒体的 发送控制和调度。 2 1 影响流媒体质量的关键因素 流媒体( s t r e a m i n gm e d i a ) 技术是指支持多媒体数据流通过网络从服务 器向客户机传送,接收方边接收边播放的技术与传统的先下载后播放的做 法相比,流媒体技术有很大的优势,如实时性强,有利于保护版权等。但是 流媒体技术存在一个严重的问题:服务质量问题。粗略地讲,流媒体的视频和 音频播放质量通常较差,常常出现画面模糊、马赛克、播放断续停顿等现象, 影响客户的观看效果,也阻碍了流媒体技术的推广。本章着眼于流媒体的服 务质量问题,研究如何在给定的网络条件下有效地提升流媒体的服务质量i u 。 考虑到网络技术自身的发展很难为流媒体应用提供绝对的服务质量保 证,本章主要定位在流媒体终端系统的服务质量控制,以求在不同的网络环 境下利用终端的一些控制策略使得用户享受到尽可能好的服务质量并尽量减 轻网络的负担。因特网可提供的网络带宽和流媒体要求的码率之间的不匹配 是q o s 矛盾的中心。这是影响流媒体传输的关键因素。所以主要利用视频服 务器的视频质量控制和发送速率控制来解决带宽与视频流码率的不匹配问 题。 流媒体发送速率平滑和控制技术其主要作用是在网络资源不稳定的情况 下控制流媒体文件的发送速率,并使其平滑,不致有过高和过低的发送速率 变化。这样使流媒体服务器的文件输出速率始终在控制之下,并保持在平均 值左右。这样做的结果就是使终端用户的并发数大幅提升。下面举个例子来 解释这种效应。 假如把一些木棍同时通过一个大的竹筒,如果木棍的形状参差不齐,非 常不规则,如图2 1 所示,那么,能够同时穿过这个竹筒的木棍数量就会有 限,而竹筒的很大一部分空间因为木棍的形状不规则而无法充分利用,造成 了资源浪费。而如果木棍的形状都比较光滑连续,或者只有很小幅度弯折, 那么,同时穿过竹筒的木棍数量就会大大增加,如图2 2 所示。 3 堕玺鎏;! :垒奎耋至圭兰堡鎏兰 图2 1 发送速率示意图 图2 2 发送平滑控制示意图 流媒体服务器的网卡的带宽资源就好比是竹筒的宽度,当连接用户的发 送速率不定,忽高忽低时,其同时支持的并发用户就较少。而如果连接用户 的发送速率得以控制和平滑,那么单一用户所需的带宽资源就不会有剧烈震 荡始终控制在一定平均值左右这样同时支持的并发用户数就较多。而当 新用户要求连接时,系统监测该用户连接所需的最大带宽资源,来对比还剩 的带宽资源,以此判断是否准许该用户连接。若未进行发送速率控制,则用 户的发送速率会变化很大,即有较大的震荡,所需的最大带宽资源也很大, 这样系统就会认为剩下的资源不足以满足新增用户的需求,而拒绝新增用户 的连接请求。而如果应用流媒体发送速率控制技术对用户的发送速率进行平 滑和控制,使用户连接速率始终在平均值左右,没有太大的震荡,这样系统 检测用户所需的最大带宽资源在允许范围内,从而允许新增用户的连接请求。 同时也晟大限度地利用了服务器和终端用户的带宽资源。 解决这样的状况就要求考虑发送速率控制,以达到这样的目的:在硬件 性能不改变的条件下,显著增加了流媒体服务器的并发数目,从而提高流媒 体服务器的性能并降低了实现成本。这样使终端用户的服务质量和网络资源 利用率也大为提高。 视频质量和发送速率控制过程可以理解为如图2 3 所示,在服务器端进 行视频质量和发送速率控制以适应网络环境变化,主要通过视频质量控制和 发送速率控制来达到播放码率与网络情况匹配。视频质量控制是根据网络状 况自适应地控制视频质量;发送速率控制则通过有效的视频数据发送调度来 进一步提升网络利用率。视频质量控制和发送速率控制互为补充,协同工作, 4 哈尔滨 程大学硕+ 学位论文 从而在可预约带宽和不可预约带瘫的网络环境中共同提升流媒体应用的服务 质量l q 。 巨磊固 蟊国一 雪日f | | | i 图2 3 视频质量和发送速率示意 使用自适应传输控制技术可以实现调整媒体数据的发送数据的速率,进 而提高了视频质量。 除了传输能力强弱影响,服务器端的媒体流的调度优化程度也对系统的 服务质量有着重要的影响。 2 2 自适应传输控制技术 白适应流媒体宽带传输技术是进一步提高流媒体应用系统的整体服务质 量的另一关键技术,可以最大限度地利用终端用户享有的带宽资源。核心思 想是根据网络状况调整发送内容和发送速率两个方面进行调整达到实现相对 好质量的视频效果自适应传输包括分静态控制和动态控制两种方式。 2 2 1 静态质量控制 目前静态质量控制主要采用两种手段。一类是事先在服务器上存放一个 数据源的多个不同比特率版本,在用户请求这个数据源时,服务器自动探测 出这个用户网络连接状况,并为其选择一个最合适的版本传输给用户。第二 是采用智能流( i n t e l l i g e n ts t r e a m i n g ) 技术,与第一种方法不同的是只需 要维护一个版本的文件。智能流是利用流媒体压缩率的多样性的特点。可以 在一个流媒体文件中同时包含几种不同的压缩率来满足不同应用的需求。智 能技术要和编码技术结合起来,在服务器端编码时候生成智能流文件,编码 5 哈尔滨工程大学硕士学位论文 工具能把媒体记录成不同速度并把它们存储在同一个文件里,这样的实时的 音频文件和实时的视频文件叫智能流文件,即创建可扩展流式文件。当有用 户提出视频请求的时候,它将其带宽容量传给服务器。服务器端根据该用户 的网络带宽将相匹配的智能流文件的那部分向该客户端发送。以此方式,用 户可看到最可能的优质传输,制作人员只需要压缩一次,管理员也只需要维 护单一文件,而媒体服务器根据所得带宽自动切换。 智能流通过描述现实世界i n t e r n e t 上变化的带宽特点来发送高质量媒 体并保证可靠性,并对混合连接环境的内容授权提供了解决方法。也就是说 智能流技术同时还能解决点播分组内的异质接收的问题。 2 2 2 动态质量控制 动态的质量控制主要是从流量控制技术和码流平滑技术两个方面进行考 虑。两者都是要参考r t c p 反馈包中的信息来进行发送控制。它们之间的区别 是根据反馈的不同信息采用不同的控制策略。 ( 1 ) 流量控制技术 流量控制的核心思想是根据r t c p 包的r r 和s r 分组( r t c p 是实时传输控 制协议,脓和s r 为r t c p 分组中的接收报文和发送报文,在第3 章对这部分 内容有详细介绍) 信息来控制发送速率,在r r s r 分组中包括累计接受到的 数据包个数、收到最高的分组序号和时问戳、收到最后数据包的延时、丢包 率和抖动等参数来判断当前网络状况,进而确定以什么样的速率进行发送 以丢包率作为网络状况的标志量是目前多数算法采用的方式。依据r r s r 分组报文中有接收端向发送端报告最近一段时间包丢失率的字段反应了网络 状况。但是报文中的丢包率一般不适合直接用来作为标志量。首先,在网络 发生拥塞时r t c p 报文不可避免地要受到影响,在传输过程中产生延迟这样 r t c p 报文中丢包率由于传输延迟而带有滞后性,不能完全、及时,准确地反 映目前网络状况。同时由于网络的不稳定性和负载变化的随机性,轻载时丢 包率可能出现较大的随机波动,突然达到一个较大的值,然后马上又恢复正 常,这种情况实际并没有发生拥塞,不需要调整。 为了解决这两方面的问题,一般采用如公式( 2 - 1 ) 的低通滤波器利用 r t c p 报文中的丢包率预测下一个时刻的丢包率,以便在发生拥塞前传输速率 6 哈尔滨t 程大学硕士学位论文 调整模块提前采取措施,防止服务质量突然大幅度下降,减小丢包率随机波 动的影响。 a 。+ 1 - a 。u 一口j + q 声( 2 - 1 ) 其中, 。是t 。时刻丢包率的估计值,b 是t 时刻r t c p 报文中的丢包率, a 。+ 1 = a 。+ a l 卢一a 。j ( 2 - 2 ) a 是常数,且o 1 ) 倍 哈尔滨 :稃大学硕十学位论文 p p 算法是对金字塔算法的扩展。其核心思想是将金字塔算法中的片段再 分成定长的数据块,p p 算法显著降低了对用户缓存区的要求。 摩天大楼算法不采用倍数增加的方式切分节目片段,而设计了特定数列, 如 l ,z ,2 ,5 ,5 ,1 2 ,1 2 ,2 5 ,2 5 ,5 2 ,5 2 ,再按照数列中的比例切 分媒体节日。其优点在于:用户仅需很少量的缓存即可连续获取节目片段。 多媒体流的静态调度算法的比较如表2 1 所示: 表2 1 静态调度算法比较 算法名称算法思想效果 周期广播算法将节目划分成固定的时间用户等待时问受节目片段 ( p e r i o d i e a lb r o a d c a s t ) 片k 短的影响 金字塔算法节目分片长度以固定的倍与周期广播算法相比启动 ( p y r a m i d )数增长延时少 排列金字塔算法将金字塔算法节目分片在 ( p e r m u t a t i o np y r a m i d )分成长度同定的数据块 降低了用户缓冲区的大小 摩天大楼算法将节目按照特定的数列比用户能使用少量缓存连续 ( s k y s c r a p e r ) 例进行切分收看节目 2 3 2 多媒体流的动态调度算法 典型的动态调度算法包括f c f s ( f i r s tc o m ef i r s ts e r v e r ) 算法、客户端 缓冲算法、b a t c h i n g 算法、搭载( a d a p t i v ep i g g y b a c k i n g ) 算法以及补丁 算法族i 日。 最简单的动态流调度算法是“先来先服务”的f c f s 算法。f c f s 算法可用 于实现简单的系统。对于系统中的有限资源,f c f s 算法按照用户命令“先来 先服务”的原则进行分配,若系统当前资源不足以支持新的请求,则系统将 该请求挂入等待队列。f c f s 算法的原理和实现比较简单和实用。其缺点在于 没有对资源调度进行优化,从而导致资源消耗量过大。 对于客户端缓冲算法,客户端缓冲区是指位于客户终端的一块存储空问, 由于视频节目数据量比较大,客户端缓冲区往往以硬盘为存储媒介。客户端 缓冲区可以缓存一定流量的数据,从而可以人为将其播放延迟一定时阉。 b a t c h i n g 算法将不同用户的请求绑定于一个组播流中,从而以增加用户 等待时间为代价提高系统资源利用率。 搭载算法就是在系统中调节用户的播放速率来实现不同用户同步于组播 流。假如系统中有一个组播流,系统对超前与该组播流的用户播放速率降低, 1 3 哈尔滨工程大学硕士学位论文 对落后与该组播流的用户的播放速率提高。进而使是各个用户共享这个组播 流。 补丁算法,用户可以利用本地缓存同时接收两条或多条媒体流,即接收 组播流又接受单播流,由于有单播流的存在,系统实现了低延迟服务,同时 系统尽可能用组播流合并用户,使系统维持较高的效率。其性能明显优于其 他动态调度算法。 多媒体流的静态调度算法的比较如表2 2 所示: 表2 2 动态调度算法比较 算法名称算法思想 效果 系统按照先来先服务的原则分 配系统资源,如果系统工资源实现简单、没有对资源调 f c f s 不足系统将该请求挂入请求队度优化 列 客户端缓冲区算法存客户端设置缓冲区,用以缓可以执行前进后退操作。 ( c 1 i e n tb u f f e r ) 存一定的流式数据。但受缓冲区大小制约。 批处理算法将不同用户请求绑定在组播流增加用户等待时问代价 ( b a t c h i n g ) 中。 提高系统资源利用率。 提高落后于组播流的用户的播 提高系统资源利用律:但 搭载算法放速率;降低超前于组播流的 调节用户播放速率影响 ( a d a p t i r ep i g g y b a c k i n g )用户播放速率,以达到用户同 收看效果 步于组播流 2 3 3 传统流调度算法的问题 流媒体应用的核心问题是资源调度问题。这是因为网络带宽和视频服务 器i t o 往往是制约流媒体服务性能的瓶颈。 静态调度算法一般利用广播或组播通道来发送媒体流,其优点为: 1 ) 结构简单,且不受用户动态行为的影响; 2 ) 公平性高,对于不同用户,系统提供的服务性能相似; 3 ) 对用户访问频率不敏感,性能不会随总用户数的增加而下降; 然而其也有明显的缺点: 1 ) 为用户提供的服务质量( o o s - q u a l i t yo fs e r v i c e ) 不高,尤其是用户 启动延迟过长: 2 ) 不支持用户交互操作。 在动态调度算法中,除了补丁算法族以外的其它动态调度算法统称为传 哈尔滨t 程大学硕十学位论文 统动态调度算法,这些算法各有其不同的使用范围。b a t c h i n g 算法将不同的 用户请求绑定于一个组播流中。以增加用户等待时间作为代价来提高追赶或 等待组播流,再并入组播流,这种策略影响了用户对媒体节目的收看效果。 s m p 算法提供了对v c r 操作的支持,但算法效率不高。 动态流调度算法的优点在于: 1 ) 用户启动延迟相对小; 2 ) 支持用户v c r 操作。 动态调度算法的缺点是算法比较复杂。 2 3 4 补丁算法 在动态调度算法中的一个新的研究方向是补丁算法峨1 9 9 7 年,i t u a 首次 提出了补丁算法。补丁算法是以b a t c h i n g 算法为基础,结合了b a t c h i n g 算 法和用户缓存算法的优点。用户利用本地缓存同时接收两条或多条媒体流, 可实现无延迟的服务,同时尽可能地利用组播流合并用户;使系统维持较高 的效率。 为了说明补丁算法的思想先举例说明b a t c h i n g 策略。b a t c h i n g 策略如图 2 7 所示。在系统时间为第3 0 秒时用户点播一个媒体节目( 用用户i d 标识媒 体节目,该节目i d 为1 2 5 ) ,并从节目起点开始收看。系统响应用户请求, 生成组播流m s l ( 1 2 5 ,3 0 ,0 ) ( 这里用 节日i d ,系统时间,用户请求的节目 播放起点) 标识一条组播流) 。若在系统时间为第1 8 0 秒时,另一用户发出请 求点播同一节目,并要求从节目1 5 0 秒时开始播放。则此时,流m s l 正好播 放至节目第1 5 0 秒处,因此系统可通知新用户加入m s l 流,并开始提供媒体 流服务。 b a t e h i n g 算法有效地利用了组播流服务于多个用户的请求,节约了视频 服务器i o 和网络带宽资源。然而其也有明显的局限性,如图2 7 中,新的 用户必须在系统时间为第1 8 0 秒时进入系统才能有效加入流m s l 。若该用户 命令在第1 8 0 秒之前到达,如第1 3 0 秒,则该用户必须等待5 0 秒才可并入流 m s l ;若该用户的命令迟于第1 8 0 秒到达。例如在系统时间2 0 0 秒到达,则加 入流幅1 后将损失2 0 秒数据。 竺筌堡三窑盔:翟:兰篁鲨兰 _ 一 o 3 0 1 8 0 系统时间秒 图2 7b a t c h n g 策略示意图 接下来引入补丁算法。补丁算法引入用户端缓冲区和补丁流两种策略解 决用户加入组播流导致数据损失的问题。首先,补丁算法要求用户维持一个 数据缓冲区,该缓冲区能缓存一定长度的媒体流。此时,当用户发出的请求 落后于当前组播流时,用户先利用缓冲区接收并缓存组播流,同时系统再生 成一单播媒体流,补偿损失的数据,该单播流成为补丁流。如图2 8 所示。 系统中有一条组播流m s l 1 2 5 ,3 0 ,0 ) ,在系统时间为第1 8 0 秒处, 用户发出请求a p p l y s t r e a m ( 1 2 5 ,9 0 ) 表示用户希望从节目第9 0 秒开始观看。 此刻流m s l 播放的时间为1 5 0 秒,若用户加入流m s l 将损失9 0 1 5 0 秒的节目 数据。系统生成补丁流,操作如下: ( 1 ) 在系统时间为第1 8 0 秒处,新用户加入流m s l ,但不立即播放其数 据,而将数据暂存在用户缓冲区内。 ( 2 ) 在系统时问为第1 8 0 秒处,系统生成补丁流p s l ( 1 2 5 ,1 8 0 ,9 0 , 1 5 0 1 ( 这里用 节目,系统时间,用户请求的节目播放起点,补丁流的节目播 放终点 标识一条补丁流) ,播放节目9 0 1 5 0 秒之问的数据。用户加入补丁流 并开始播放媒体流,该过程持续到系统时间为2 4 0 秒处。 ( 3 ) 在系统时间为2 4 0 秒处,补丁流播放结束。此刻用户正好收看至节 目时问1 5 0 秒处。而用户缓冲区恰好为1 5 0 2 4 0 秒之间的节目数据,用户开 始播放缓存区数据,同时维持对流m s l 的接收和缓存。 补丁算法通过生成6 0 秒长的补丁流以使用户获得及时服务,同时系统最 h 炒觚m1 2 s 广, 9 0 斗) o 2 s , o ) 厘蔼盂面团l 广,i ! ! ! ! ! ! ! ! 竺! ! ! ! ! ! 竺p lk 二二】雯巫b o 3 01 8 0 系统时间,秒 图2 8 补丁策略示意图 2 4 本章小结 本章研究了两种提高视频质量的关键技术:传输控制技术和媒体流的调 度技术。 首先研究了视频质量传输控制方法,首先指出因特网可提供的网络带宽 和流媒体要求的码率之问的不匹配是影响流媒体传输的主要因素。尽可能使 媒体流保持相对稳定速率是解决这一矛盾的关键。接着详细阐述自适应传输 控制技术是如何解决这个问题。在r y - v o d 系统实现内容中,提出了基于r t c p 反馈信息速率控制算法,使得系统具有较好的视频质量。 其次循序渐进地研究了静态调度算法、动态调度算法和补丁流和组播流 相结合的b a t c h i n g 补丁算法。将这些算法进行了深入的分析,并做出了归纳 和总结。 哈尔滨t 程大学硕十学位论文 第3 章流媒体主要协议 流媒体的传输可以分为顺序传输或流式传输两种方式,流式传输能够保 证数据的实时性,在流式传输方式中都离不开三个最重要的协议;r t p ( r e a l t r a n s p o r tp r o t o c 0 1 ) 协议,r t c p ( r t pc o n t r o lp r o t o c 0 1 ) 协议,r t s p ( r e a l t r a n s p o r ts t r e a m i n gp r o t o c 0 1 ) 协议。其中r t p 与r t c p 配合使用。r t p 用 来传输有效的音视频信息;r t c p 是流传输控制协议,不携带任何有效媒体数 据,而是携带相关的传输信息,如丢包率、延时等信息以便来调整发送一些 参数,使接收方尽可能有比较高的收看质量仞。 工作时,r t p 协议从上层接收流媒体信息码流( 如h 2 6 3 ) ,装配成r t p 数据包发送给下层,下层协议提供r t p 和r t c p 的分流。如在u i ) p 中,r t p 使 用一个偶数号端口,q 相应的r t c p 使用其后的奇数号端口。r t p 数据包没有 长度限制,它的最大包长只受下层协议的限制。 r t s p 是完成用户的交互操作如:开始、暂停、恢复、快进、后退等操作。 3 1r t p r t c p 协议 为了支持网络实时传输服务,提供数据实时传输的标准,2 0 0 3 年e e t f 的视频音频工作组制订了r t p 实时传输协议。在r f c 3 5 5 0 中,r t p 被定义为 紧密相关的两个部分: ( 1 ) 实时传输协议r t p ( r e a l t i m et r a n s p o r tp r o t o c 0 1 ) ,用来传输具 有实时特点的数据,包括音频、视频。 ( 2 ) r t p 控制协议r t c p ( r t pc o n t r o lp r o t o c 0 1 ) ,通过r t c p 携带的信 息,实时监测音频、视频数据包的延时、抖动、丢包状况,以及网络的带宽 变化情况,从而可在应用层对视频源的发送参数做出调整,适应网络的变化。 3 1 1r t p 协议在传输层的位置 r t p 位于u d p 协议之上,它是一种应用型的传输层协议,并不提供任何 传输可靠性的保证和流量的拥塞控制机帝4 。r t p 通常是利用低层的u d p 协议 在传输层为传输音频、视频数据,这样它不仅可以利用u d p 协议的端口号和 校验和,还可以利用u d p 传输延时慢的传输实时音频视频流的优点。如图3 i 。 。氅尘鎏三堡奎兰至圭茎堡兰耋 所示,r t p 可以看成是传输层的子层。由多媒体应用程序生成的声音和视频 数据块被封装在r t p 信息包中,每个r t p 信息包被封装在u d p 消息段中,然 后再封装在i p 数据包中。 应用层 传输层t r t i i 玎c p 一 互联网层 物理层 图3 1 r r p 协议在t c p i p 模型中的位置 在具体实现时,可把盯p 执行程序看成是应用程序的一部分,把r t p 集 成到应用程序中。在发送端,必须把执行r t p 协议的程序写入到创建盯p 信 息包的应用程序中,然后应用程序把1 1 t p 信息包发送到u d p 的套接接口,如 图3 2 所示。同样。在接收端,r t p 信息包通过u d p 套接接口输入到应用程 序,需要把执行r t p 协议的程序写入到从r t p 信息包中抽出媒体数据的应用 程序。 应用层 一巨 互联网层 物理层 图3 2 r t p 与u d p 舶接口 以甩r t p 传输g 7 2 3 1 的声音为例来说明它的工作过程。g 7 2 3 1 取3 0 毫秒的编码数据为一个数据块,印在一个数据块中有2 4 0 个字节的声音数据。 应用程序需要为这块声音数据添加r t p 标题生成计p 信息包,这个标题包括 声音数据的类型、顺序号和时问戳。然后k i p 信息包被送到u d p 套接接口, 在那里再被封装在u d p 信息包中。在接收端,应用程序从套接接口处接收r t p 信息包,并从r t p 信息包中抽出声音数据块,然后使用r t p 信息包的标蹶域 中的信息正确地译码和描放声音。 生尘堡:堡盔:2 三:2 鲨兰。 3 1 2r t p 协议的报文格式 盯p 报文格式如图3 3 所示: v ipixi c c l mi 载荷类别( p t ) l 序号( s n ) 时间戳( t i m e s t a m p ) 同步源标识( s s r c ) 贡献源标识清单c s r c 扩展头 用户数据报 r t p 报文实际上是由一个2 个字节的固定头和用户数据组成,固定头中各 域的具体意义如下: 版本( v ) :2 位,标识r t p 协议的版本号。 填充标志( p ) :i 位,如果该位被设置为l ,说明在分组后增补了零填充, 从而使分组达到要求的长度;填充的最后字节指明了填充的长度。 扩展位( x ) :1 位,如果该位被设置,在固定报文头后插入扩展的报文 头部。一个长度不定的头部扩展必须加在r t p 头部后面,如果有c s r c 列表, 则扩展就跟在该列表后面。头部扩展包含一个1 6 位的长度字段( 长度= 扩展 的字节数( 不吉扩展部分的前3 2 位) 4 ,长度为零是合法的) 。r t p 数据头 部只能包含一个扩展,如果要使用多个扩展,扩展部分的前1 6 位则用于该扩 展的标识或者用到的参数。 源c s r c 数目( c c ) :4 位,表示固定报文头后作用源c s r c 标示符数目。 标记( m ) :1 位,该位保留未被使用。可以用来约定为时间戳不连续时候 为l ,让接收者和复合器等忽略该时间戳与以前的时间戳不连续。 载荷类型( p t ) :7 位,接受端据此来判断媒体类型,如果是编码数据, 则p t 决定着接收端使用的解码器。报文所支持的媒体类型如表3 i 所示。 序列号( s n ) :l f i 位,每发送一个r t p 信息包,序列号就加l ,接收端可 以用它来检查信息包是否有丢失以及按顺序号处理信息包。例如,接收端的 应用程序接收到一个i c t p 信息包流,这个r t p 信息包在序列号8 6 和8 9 之间 有一个间隔,接收端就知道信息包8 7 和8 8 已经丢失,并且采取措施来处理 丢失的数据。序列号的初始值是随机产生的,原因有二,一是使用随机的序 号可以避免重放,当某次会话的分组在网络上延时以后,却被稍后的另一次 堕垒鎏三堡奎茎至圭茎垒丝兰 会话所接受,就会遇到重放的问题;另一个原因是使用随机的起始号可以提 高安全性,使攻击者猜测序号信息更为困难。 表3 1r i p 报文所支持的有敬载荷类犁 有效载荷号媒体格式 0p o 町 26 7 2 6 3 2 3g s m 46 7 2 3 5 d v l 4 7l p c 8 p o i a 9g 7 2 2 1 0l 1 6 1 1 l 1 6 1 2o c n p 1 4 i l p a 1 56 7 2 8 1 6d v l 4 1 86 7 2 9 2 5c e l b 2 6 j p e g 2 8 n v 3 1 丑2 6 1 3 2砌p e g 一1 3 3m p e g - 2 时间戳( t i m e s t p ) :3 2 位,它反映r t p 数据信息包中第一个字节的采 样时刻( 时间) 。接收端可以利用这个时间戳来去除由网络引起的信息包的抖 动,并且在接收端为播放提供同步功能。r t p 规定,一次会话的初始时间戳 必须随机选择,但协议并没有规定时问戳的单位,也没有规定关于该值的精 确解释,而是由负载类型来确定时钟的粒度。这样,各种应用类型就可以根 据需要选择合适的输出计时精度。例如,在r t p 的传输音频数据时,可以选 定逻辑时间戳速率与采样速率相同,这样做是合理的。但是,当传输视频数 据时,必须使时自j 戳速率大于每帧一个滴答。这样才能使图像回放更为平滑。 最后,如果数据是在同一个时刻采样的,协议标准还允许两个分组具有相同 的时间戳值。例如,如果一个大帧被分为多个小分组,这时,时间戳值就可 出现重复,因为该帧就在同一时刻录制的。所以每个分组中的时间戳值是相 哈尔滨工程大学硕十学位论文 同的。 同步源标识( s y n c h r o n i z a t i o n s o u r c ei d e n t i f i e rf o r o r i g i n a t o r ,s s r c ) :3 2 位,它用来标识r t p 信息包流的起源,在r t p 会话或 者期间的每个信息包流都有一个清楚s s r c 。s s r c 不是发送端的i p 地址,而 是在新的信息包流开始时源端随机分配的一个号码。 作用源标识( c o n t r i b u t i n gs o u r c ei d e n t i f i e rf o rp a y l o a d ,c s r c ) : 该域最多可有1 5 项,每项的长度为3 2 位,列举出产生该r t p 数据包的所有 源,如携带多个源的混音数据时,将各个源的s s r c 列在c s r c 中,以便接收 端辨别。 通过r t p 报文头的结构可以注意到,r t p 报文中没有一个“长度”字段, 这是因为r t p 把数据分段的任务交给了底层的协议u d p 去处理了,由u d p 协 议进行数据的分段,再组成若干个u d p 数据包进行传输。 3 1 3r t p 协议的特点 r t p 协议的设计遵循c l a r k 和t e r m e n h o u s e 提出的a l f & i l p ( a p p l i c a t i o n l e v e lf r a m i n ga n di n t e g r a t e dl a y e rp r o c e s s i n g ) 原则,即:集成共性,个 性扩展。总的来说,r t p 协议具有以下特点: ( ”简单性 r t p 协议不具备运输层的完整功能,其本身也不提供任何机制来保证实时 地传输数据,不保证服务质量,而是依赖下层协议提供的服务来完成这些任 务。它不保证提交或防止乱序提交,也不假设下层网络是可靠的并且提交的 分组是有序的。r t p 报文甚至不包括长度和报文边界的描述,而是依靠下层 协议提供长度标识和长度限制。另外,r t p 协议将部分运输层协议功能( 比 如流量控制) 上移到应用层完成,简化了运输层处理,提商了该层效率。 ( 2 ) 灵活性 r t p 协议的数据报文和控制报文使用相邻的不同端口,数据流和控制流分 离,这样大大地提高了协议的灵活性,处理也简单。 ( 3 ) 支持多播 如果下层网络支持,r t p 可以采用支持多播的传送方式将实时数据传送到 多个目的地,满足多媒体会话的需要。 2 2 哈尔滨t 程大学硕士学位论文 ( 4 ) 可扩展性 r t p 协议通常为一个具体的应用提供服务,通过一个县体的应用进程实 现,而不作为o s i 体系结构中单独的一层来实现,r t p 只提供协议框架,开 发者可以根据应用的具体要求对协议进行充分的扩展。 r t p 协议的使用领域有:简单多播音频会议、音频视频会议、混合器和解 释器。尽管最初r t p 是为满足多用户多媒体会议应用程序的需要而设计的, 但它并不局限在这类应用中。r t p 还可用于连续数据存储、交互分布式仿真、 实时控制测量等。 3 1 4r t c p 协议的分组 r t p 协议是用户携带实时特征数据,与之配套的是实时传输控制协议 ( r t c p ) 。r t c p 作为r t p 的一部分由r f c l 8 8 9 指定,它用于监视网络的服务 质量和在正在进行的与会者中传递信息。r t c p 的基本做法是周期性的向会话 的所有参加者传送控制分组,采用和数据分组相同的配送机制来发送控制分 组。 r t c p 的分组类型共分为五种: s r :发送端报告报文 r r :接收端报告报文 s d e s 源端描述报文( 资源描述条目) b y e :与会者退出报文 ”:特定应用报文 其中用于提供数据分配质量反馈的是由所有参与发送s r 非包来实现 的。 1 ) s r 分组格式 如图3 4 所示。它由三个数据段组成:r t c p 分组头部、发送方信息块和接 收报告块。 ( 1 ) r t c p 分组头部 版本( v ) :这是一个长度为2 b i t 的字段,表示本r t c p 的版本号。 填充( p ) :这是一个长度为1 b i t 的字段,如果为“1 ”,表示在单一r t c p 报文中,其尾部应填充一些八位组,并非控制信息:在复合r t c p 撤文中,只 啥尔滨工科大学硕+ 学位论文 能在最后一个独立的报文中进行填充。 v i pl c cp t i长度 发送者s s r c n i p 时间戳( 高有效位字) t i t p 时问戳( 低有效位字) r i p 时间戤 发送者包计数 发进者字节计算 s s r c - i ( 第一个源的s s r c ) 丢包率包丢失累计数 收到的最高序号 包间抖动 最后的s r 时阃戳( l s r ) 从最后到达s r 开始的延时( d l s r ) s s r c 一2 特定轮廓扩展 图3 4s r 分组的格式 接收报文计数( r c ) :这是一个长度为5 b i t 的字段,指出头部后报告块 的个数。 分组类型( p t ) :这是一个长度为8 b i t 的字段,指定该分组的类型。 长度:这是一个长度为1 6 b i t 的字段,指定分组头和附加信息的r t c p 分 组长度。 同步源标识( s s r c ) :这是一个长度为3 2 b i t 的字段,表示g r c p 发送分 组的源标识,在s r 分组中,它一方面表明了该控制分组的产生者,另一方面 反映了该分组携带的发送者信息块的统计数据所针对的具体码流,而腺分组 头中的s s r c 标识值仅表明该分组的产生者。 1 2 ) 发送者信

温馨提示

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

评论

0/150

提交评论