




已阅读5页,还剩51页未读, 继续免费阅读
(通信与信息系统专业论文)基于rtp的linux实时语音传输系统设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 v o 口是一种新的快速发展的语音传输技术,其最大优势是能够利用分布广泛 的口互联网作为信息传送平台,并具有价格低、应用形式多样等优点,打破了电 信对语音业务的长期垄断,进一步证明m 分组数据网不仅可以传送数据业务,也 可以传送语音和视频等实时业务。 然而由于口分组网络设计的初衷主要是用于传输文字、图形等数据型业务, 而在传送语音、视频等实时媒体时则显得力不从心,如何在因特网上高质量地传 输实时语音业务,已成为v o i p 的关键问题之一。 语音信号若要实现在口网络中的传输,首先需要以固定的间隔对其采样,将 模拟语音数字化,组装成口语音分组,将其通过口网络发送到目的方,并在接收 方将砰分组还原成模拟信号。为了保证语音传输质量,需要将传输时延控制在一 定范围内,一般需要小于2 0 0 m s ;传输时延的变化或抖动需要通过缓存机制进行消 除;一般语音传输容许一定的分组丢失率或误码率。 本文结合所参与的课题“基于l i n u x 的口智能终端的开发”,从实时语音传输 所涉及到的时延、抖动、丢包等问题出发,提出了改进语音质量的措施与算法, 并在此基础上设计实现了基于l i n u x 和r t p 协议的实时语音多方通信系统。 文章首先说明了实时语音通信的背景与现状,针对实时语音传输的特点以及 t c p u d p 协议在传输语音业务方面存在的不足,指出引入k i p 协议的必要性;接 着详细地介绍了实时传输协议r t p r t c p 运行机制;之后介绍了i j n u x 平台下基于 r t p 协议的实时语音传输系统的软件实现,对涉及的协议、语音数据处理以及缓 存管理等内容进行了详细的分析与设计,并采用多线程技术、抖动缓存技术以及 u d p 传输技术实现语音通信系统;通过实际测试,证明此口软件系统设计正确, 性能良好。最后,论文探讨了r t p 协议的o o s 保障机制及其在大规模应用下的可 扩展性等问题。 关键词:v o i p 、r t p 、实时传输、抖动缓存 a b s t r a c t3 a b s t r a c t v 0 口i san 钾f a s t - g r o w i n gt e c h n o l o g yt ot r a n s f e rr e a l t i m ev o i c eo v e ri pn e t w o r k s i th a st h e g r e a t e s ta d v a n t a g ei nf u l l ym e r g i n g i n t ot h eg l o b a li l ii n t e r c o n n e c t e n v i r o n m e n tt os u p p l yv a r i o u sk i n d so fs e r v i c ei nl o wc o s t t h i st e c h n o l o g yi so n eo f t h eg r e a ts u p p l e m e n t sf o rt h et r a d i t i o n a lt e l e p h o n es e r v i c ew h i c hf u r t h e rp r o v et h a tn o t o n l yd a t as e r v i c el i k et e x t ,p i c t u r e ,b u ta l s oa u d i oa n dv i d e os e r v i c ec a nb et r a n s f e r r e d t h r o u g hi n t e m e t a st h ei pn e t w o r ki si n i t i a l l yd e s i g n e dt ot r a n s f e rd a t al i k et e x ta n dp i c t u r e , i t m s i n e f f i c i e n tt 0t r a n s f e rm e d i al i k ea u d i oa n dv i d e od a t ar e a l - t i m e l y i th a st u r n e dt o b eac r i t i c a lp o i n to nh o wt ot r a n s p o r tr e a l t i m em e d i ad a t ai nh i g hq o st h r o u g h i n t e r a c t t h e s p e e c hs i g n a l i s t r a n s m i t t e d b y d i g l t i s i n g t i n y p i e c e s o f i t a tr e g u l a r i n t e r v a l sa n d s e n d i n gt h e s et ot h ed e s t i n a t i o nw h e r ea na n a l o g u es i g n a li sr e c o n s t r u c t e d f o rg o o d q u a l i t yc o m m u n i c a t i o n ,t h eo v e r a l ld e l a ys h o u l db eb e l o w2 0 0m s d e l a yv a r i a n c eo r j l i t e rs h o u l db ee l i m i n a t e dt h r o u g hb u f f e r i n g s p e e c hc o m m u n i c a t i o ni sf a i r l yt o l e r a n tt o l o s to rc o r r u p t e dp a c k e t s a sp a r to ft h er e s e a r c hw o r k - - i m p l e m e n t a t i o no fi n t e l l e c t u a li pt e l e p h o n e t e r m i n a lo nl i n u x ,t h ea u t h o rh a sd e e p l ya n a l y z e dt h er e l a t e da s p e c t sl i k ed e l a y ,j i t t e r , a n dp a c k e tl o s ti nt h er e a l - t i m et r a n s f e ro fv o i c eo n 口n e t w o r k s , b r o u g h tf o r w a r ds o m e m e a s u r e st oi m p r o v eo ne a c ha s p e c t sa n da l s or e a l i z e dar e a l - t i m em u l t i p l ev o i c es y s t e m b a s e do nl i n u x t h ea r t i c l ef i r s ti n t r o d u c e ds o m eb a c k g r o u n dk n o w l e d g eo fr e a l - t i m ev o i c et r a n s f e r , t h e np o i n to u tt h en e c e s s i t yo fr t p r t c pp r o t o c o lf o rt r a n s f e r r i n gv o i c ed u et ot h e i n e f f i c i e n c yo ft h et c pc o u n t e r p a r t s t h e ni tg a v ea l le x h a u s t i v ed e s c r i p t i o no n r t p r t c i p r o t o c 0 1 a f t e r w a r di tp r o v i d e dt h es o f t w a r ei m p l e t e m e n t a t i o no ft h ev o i c e t r a n s m i s s i o n s y s t e mt h r o u g hr t p r t c pp r o t o c o l su p o nl i n u x t h es y s t e m i s i m p l e m e n t e dt h r o u g ht h et e c h n o l o g yo fm u l t i t h r e a d , m u l t i p l er i n g - b u f f e ra n du d p s o c k e tt r a n s p o r tt e c h n i q u e f i n a l l yt h ea u t h o r p r o v i d e d t h et e s t r e s u l t s ,w h i c h d e m o n s t r a t e st h a tt h es y s t e mi sr i g h t l yd e s i g n e da n dl l m sw e l lf o rt r a n s f e r r i n gr e a l t i m e v o i c ei nh i g hq u a l i t y a tt h el a s to ft h ea r t i c l e ,t h ea u t h o rg a v es o m ep e r s p e c t i v ev i e w s t a i l o rt 0p r o b l e m sw h i c he x i s t so nl a r g e - s c a l er t p r t c pa p p l i c a t i o ns c e n e r y k e yw o r d s :均口、r t p 、r e a l - t i m et r a n s m i s s i o n 、j i t t e r - b u f f e r 创新性声明 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及所取得的 研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其它人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志所做的任 何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:凌叠垄 i i i i :渺b 、1 、1 5 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即;研究 生在校攻读学位期问论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,町以允许采用影印、缩印、或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 本人签名:凌盘盘 导师签名:塑蛩觅 日期:溯“b 日期:口1 p 石, 第一章绪论 第一章绪论 1 1 背景与发展现状 i n t e r n e t 技术的飞速发展,使得基于i n t e r n e t 的多媒体实时传输应用服务正日 益受到重视,v o w ( v o i c e o v e ri n t e m e tp r o t o c 0 1 ) 便是其中的一种典型应用。 v o w 是一种以口电话为主,并推出相应增值业务的技术,可以在口网络上 以低成本传送语音、传真、视频和数据等业务,如统一消息、虚拟电话、虚拟语 音,传真邮箱、查号业务、i n t e r a c t 呼叫中心、i n t e m e t 呼叫管理、电视会议、电子 商务、传真存储转发和各种信息的存储转发等;本文所述的v o 口主要涉及的就是 基于口的实时语音传输技术。这项技术一出现便引起了世人充分的注意,它有效 地利用了现有的网络资源,有助于缓解现有通信网的紧张局面,得到了迅猛发展。 从另一角度来看,以i p 为核心的分组化和以移动通信为核心的无线化已成为电信 网络演进的主流方向,基于t c i i p 的网络技术不但无可置疑地成为数据领域的主 导技术,而且已经开始进入电信领域,其突破口就是v o i p 电话业务。口网络电话 的成功开发和应用,预示了以口为基础的新一代信息网络的出现。 本文着重研究的是在基于l i n n x 平台下,模拟语音如何实现在m 网络上实时 传输的课题。l i n u x 操作系统以其免费、开放源代码、系统稳定而著称:口语音业 务相对于其他业务而言,具有实时性强、时延敏感、双工通信等特点,同时还具 有复杂的信令系统。现行传统语音业务的实现主要是通过电路交换网,采用基于 连接的电路方式来进行传输和交换,整个系统是由电话机和电话交换机等通信设 备之间通过1 号或7 号信令建立起来的。信号的处理过程是将模拟的语音信号首 先经过脉冲调制为6 4 k b s 的数据流,通过时分复用仃d m ) 技术由微波、光纤等传 输。语音业务在口网络中是以口电话的形式实现的,在发送端首先将模拟的语音 信号经过a d 转换,通过语音压缩算法对语音数据进行压缩编码处理,然后把这 些语音压缩帧按口等相关协议进行打包,经过口网络把数据包传输到接收地,再 把这些语音数据包串起来,经过解码解压处理,d 版转换成原来的模拟语音信号, 从而达到由口网络传送语音的目的。 语音在口网络上进行传输主要有以下特点: 1 ) 口电话的成本低廉。由于口电话采用了先进的数字信号处理技术,可将原 来的6 4 k b s 语音信号流压缩为带宽更窄的信号流,而且m 电话采用分组交换技术, 可以实现通道的统计复用,提高了网络资源的利用率,降低了通话的成本。 2 1 使用m 电话可以充分利用m 网络资源,标志着一种全新的功能更强的通 2基于k i p 的l i a u x 实时语音传输系统设计 信方式的产生,从而可以打破电话的垄断市场。因为与传统的传输媒体相比较,口 电话不仅具有传统媒体所具有的一切表现方式和特点,而且传播信息容量大,不 受时空限制,突破了传统地源政治、地源经济的概念。 3 ) 符合未来“三网合一”( 电话网、数据网、有线电视网) 的发展方向。 然而由于m 分组网络自身设计的局限性,在传送语音、视频等实时媒体时存 在着先天不足,为此m t f ( i 因特网工程组) 制定了一系列支持流媒体实时传输和服 务控制的协议,如r t p r t c p ,r s v p ,瑚晤p 等,其中,r t p 是所有这些协议的基 础。这一系列面向实时应用的协议,在兼容现有网络基本体系的基础上,增强了 对音频,视频等多媒体实时应用的支持。 1 2 实时音频传输的特点与现有网络协议分析 1 2 i 实时语音传输特点 实时多媒体数据传输是主要传输声音、视频等多媒体信息的技术,与普通的 数据传输相比,它主要有下面三大不同的特点: 1 ) 必须保证最小带宽,吞吐量不能急剧减小( 类似于t c p 拥塞控制中将c w n d 减至1 ) ,传统协议中基于窗口或基于速率的流量控制都不适用。 2 ) 对时延比较敏感,如对于语音、视频数据,当端到端延时在2 0 0 m s 以内 时,对视听感觉影响不大,但当延时在2 5 0 m s 至l j 3 0 0 m s 之间时,就会产生令人厌烦 的感觉,运输层的控制,必须侧重于缩短时延,减少时延抖动。 3 ) 通过分组重传来进行差错恢复的技术不适合实时数据传输,在可靠性方面 适合采用编码方式转换进行调整,还要尽量避免发生差错。 1 2 2 影响实时语音传输质量的因素 口网络采用的机制是以尽力服务方式传送m 数据包,语音分组在分组网络传 输时会由于网络中存在的传输差错、网络拥塞、分组处理的不同等原因造成传输 分组丢失、产生时延和时延抖动,使得用户听到的语音出现不连贯甚至中断的现 象。口网络最初设计的出发点使得其无法为实时通信等对服务质量要求很高的业 务提供足够的o o s 保证,因此需要寻求更好的方式对传输质量进行改善。下面将 首先讨论影响实时语音传输o o s 的三个关键因素:时延、抖动、丢包。 1 1 时延 时延是指从说话人开始说话到接收方听到所说内容所经历的时间间隔。时延 第一章绪论3 对语音通信的影响主要在于其引入了回声,并削弱了语音的交互性姗u 建议 g 1 1 4 和g 1 3 1 描述了时延参数对普通电话呼叫的影响:正常情况下端到端时延大 于2 5 m s 时,或者虽然时延小于2 5 m s ,但回声水平非常大时,要加入回声抑制。 当回声得到充分抑制时,2 0 0 m s 以下的时延,对于大多数应用来说是可以接受的; 2 0 0 m s 以上的时延,它的语音质量基本上是不可接受的。 时延主要由编码时延、解码时延、缓存时延和网络时延等部分组成。下图表 示了它们之间的关系。 瓣礴对麓传鞠耕毖援冲时鼍算孵蚌熏 鳢冲鼠t t l j - 、- - ,l j l j 1 l j l j j 图1 1传输时延组成示意图 传输时延为t o = t i + t 2 + t 3 + t 4 在终端进行去抖动操作以减少时延抖动时,通常的方法是增加一个去抖动缓 冲器,这也会引入一定的去抖动时延1 3 。1 3 的取值是在分组时延和分组丢失率 之间的折中。1 3 过小,会使分组丢失率上升;t 3 过大,会引入太大的时延。由 于通话时间短,自适应去抖动算法往往不能地发挥作用,一般采用固定的去抖动 时延,取值为网络的平均排队时延。 2 ) 抖动 分组传输中的抖动也会严重影响实时语音业务的质量。语音分组以近似等间 隔的顺序从源端发出,但在网络传输过程中的排队和服务处理时会存在差异,使 其不再是等时间间隔到达目标端点,即有时延抖动。而语音解码器通常需要接近 恒速率的输入码流,时延抖动的存在会影响其正常工作。有效改善分组传输抖动 的方法是增加接收端的缓存,利用缓存来消除到达的数据分组之间时间间隔的差 异;或者在终端进行去抖动操作。通常的方法为加入去抖动缓冲器,对分组进行 延时缓冲平滑。这样做虽然可以减少时延抖动,但会增加接收端的处理时延。 丢包 遵循“尽力服务”原则的口层并不能保证将数据报正确传送到目的端,实时 语音传输一般用不保证可靠传输的u d p 协议来传送语音数据分组以提高传输的实 时性。当语音数据分组出现丢失情况时,如果是偶尔的一个数据丢失,上层应用 可以根据一定的机制恢复该数据分组,以保证语音质量,但当出现连续分组丢失 情况时,语音分组无法进行恢复,语音质量将大为降低。一般来说在实时语音传 输中分组丢失率处于3 5 之间是允许的。影响网络分组丢失的原因主要有: a 、网络拥塞一一口网中的分组是经过中间设备,一跳一跳传输的。对于m 协 议采用无连接传输机制,拥塞是不可避免的。造成拥塞的主要原因在于网络中的 4 基于r t p 的l i n u x 实时语音传输系统设计 设备没有足够的缓冲区来接收数据,使得通向某一路由的队列排队过长,当队列 出现溢出时会造成分组丢失。 b 、分组超时丢失一一口数据报遵循尽力服务的原则,其在口网络中的寻径 是随机的,为避免数据报进入死循环,需要进行数据报的生存时间控制。在一个 新的数据报产生时,就在其头部的1 几( t u n et ol i v e ) 位设定其在网络中存在的 最大时间,超时便丢弃,如果网络状况很差,会造成许多分组由于超时而丢失。 c 、传输损伤一一网络中由于传输设备出现损伤如线路断裂等,会导致大量数 据分组丢失,至于口语音包的丢失对语音传输质量产生的影响,典型的语音编码 可以允许的包丢失率为3 5 ,否则通话质量将难以保证。 解决分组丢失的措施主要通过改善网络环境来实现,如增加带宽、增大网络 设备的缓冲区、设置优化的路由表等;但采取这些措施的同时还要考虑到与成本、 业务需求等方面的平衡。 1 2 3t c p 不适合实时传输语音 现有的大部分因特网都是基于口网络组成的,它所采用的t c p i p 协议栈,最 初是为了提供非实时数据传输业务而设计的。i p 协议负责主机之间的数据传输, 不进行检错和纠错,因而经常发生数据丢失或失序现象。为保证数据的可靠传输, 人们将t c p 协议用于i p 数据的传输,提高接收端的检错、纠错能力。当检测到数 据包丢失或错误时,要求发送端重新发送,这样保证了数据的无错传输,但这样 不可避免地增加传输时延以及耗用网络带宽,因此传统的t c p i p 协议在传输实时 语音、视频数据等对实时性要求较高的应用来说存在着缺陷。当然如果有足够大 的缓冲区,和充足的网络带宽,比如在局域网内,采用t c p 协议,实现接近实时 的传输也是可能的;然而如果在丢包率较高,网络状况不好的情况下,如广域网, 此时利用t c p 协议进行视频或音频传输,效果将非常难以保证。 t c p 是面向连接的协议,它并不适合实时媒体传输,主要有下面几个原因: a 、启动速度慢 即便在网络运行状况良好,没有丢包的情况下,由于t c p 的启动需要通过“三 次握手”建立连接,因而在初始化的过程中,需要较多的时间;而在一个实时多 媒体的应用中,尽量减少数据流的延迟是我们所期望的。 b 、t c p 的重传机制 我们知道在 i c e , q p 协议中,当发送方发现数据丢失时,它将重传丢失的数据 包,然而这将需要一个甚至更多的周期,这种重传对于实时性要求较高的多媒体 数据传输来说是灾难性的,因为接收方不得不等待重传数据的到来,从而造成了 声音的延迟和断点( 音频的不连续或视频的凝固等) 。 第一章绪论 5 c 、t c p 的拥塞控制机制 t c p 拥塞控制机制在探测到有数据包丢失时,它就会减小它的拥塞窗口和发 送端口,使得发送速率变化非常大。但另一方面,音频、视频在特定的编码方式 下,产生的编码数量是不可能突然改变的;例如,标准的p c m 音频需要6 4 k b s , 加上一些额外的控制信息,它不能在低于这个带宽要求的网络上传输,正确的拥 塞控制应该是变换音频、视频信息的编码方式,调节音频的发送速率或视频帧的 帧频。 d 、t c p 报文头 对于实时媒体传输,t c p 报文头上不能提供有关时间戳o 佃e s i a m p ) 和编解码 信息( e n c o d i n g d e c o d i n gi n f o r m a t i o n ) ,而接收方应用程序正是需要这些信息才能正 确的处理所收到的音频、视频数据。 1 2 4r t p 协议的引入 由上分析可知,t c p 不适合多媒体实时数据传输,因此考虑引用新的r t i 协 议作为传输层的一部分与u d p 传输协议相结合用于传输实时数据。 u d p 是一种面向无连接的数据报方式,当通信一旦开始,发送方就不断地发 送数据而不需要接收端作出确认信息。它取消了重传机制,因此能够达到较高的 通信速率,具有适合实时传输的特点,但是由于u d p 传输的不可靠带来了丢包, 乱序等问题,并不能完全满足实时音频传输要求;如果在应用层采用合适的封装 方式并增加一些有利于媒体播放的信息进行传输,就可以使得接收端在一定程度 上弥补传输的损失,这就是引入r t i 的原因。同时如果收发端能够实时了解网络 和传输状况,就可以适当调节自己的通信参数,最终使得接收端能够达到最好的 效果,由此引入r t c p 传输控制协议对传输状况进行实时监测和报告。本文在口 网络上建立的实时音频传输系统就是结合r t p 与u d p 协议的优点进行实现。 k i t ( r e a l t i m et r a n s p o r tp r o t o c 0 1 ) 实时传输协议,是由i e t f 组织的音频,视频 传输工作组制定,主要用于口、视频等实时多媒体信息的传输。音频和视频编 码信息均封装在r t p 协议数据包中,r t p 协议头部提供实时信息和数据包序号, 供接收方重组数据包,但是r t 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 t r o lp r o t o c 0 1 ) 实时传输控制协议,它主要用于统计通 信传输的信息,旨在保证传输的可靠性,并进行流量控制。 6 基于r t p 的l i n u x 实时语音传输系统设计 1 2 5 其它协议 为全面实现实时多媒体在球网络上的传输技术,还需引入多种新型网络协 议,与r t p r t c p 相结合才能更好的满足v o l p 通信所需的o o s 要求。比较常用的 协议有: a 、会话发起协议s i p ( s e s s i o ni n i t i a lp r o t o c 0 1 ) ,这是i e t f 提出的在i p 网络上 进行多媒体通信的应用层控制协议,利用s i p 可实现会话的发起,建立和释放, 并支持单播,组播和移动性。此外,s i p 还与s d p 配合,可依据网络状况动态调 整和修改会话属性,如通话带宽、传输媒体类型及媒体的编码格式等,充分保证 了通话质量。 b 、资源预留协议r s v p ( r e s o u c er e s e r v a t i o np r o t o c 0 1 ) , , 它允许用户为某个数 据流向支持该协议的路由器预订满足其特定需求的网路资源,以保证该数据流传 输的端到端服务质量( q o s ) 。 c 、实时流化协议r t s p ( r e a l q i m es t r e a m i n gp r o t o c 0 1 ) ,该协议是一个基于客户 朋匣务器结构的多媒体流传输控制协议,它能够实现对多媒体数据流的远端控制与 播放。 r t p r t c p 、r t s p 、r s v p 协议协同工作,共同完成网络实时多媒体数据的传 输和控制、资源预留及服务质量保证等工作。其中r t p 协议负责数据传输,r t c p 协议提供数据传输质量参数,r s v p 协议用于资源预留以保证网络服务质量,r t s p 协议提供数据传输的远端控制。 r t p r t c p 是实时媒体传输技术的核心,在实时媒体传输中具有举足轻重的作 用。本文主要分析r t p r t c p 的作用,探讨其在实时语音传输系统的作用与实现 方式。 1 3 1 论文的主要工作 1 3 论文的主要工作和安排 实对语音传输技术是当前下一代网络的核心技术之一,作者结合参与的科研 课题,紧跟相关技术的最新进展,详细分析研究并开发出了m 甲压盯c p 协议栈, 并基于此协议栈在l i n u x 平台下实现了实时语音通信系统。目前已实现点对点,点 对多点的通信,主要做了以下方面的工作: 1 ) 对语音传输的产生背景、基本原理、语音编码、语音网络传输、流媒体相 关协议等相关技术进行了较为深入的研究 第一章绪论 7 2 ) 详细分析研究了r t p r t c p 协议的运行机制及其基本特性,并编程实现了 此协议机制。 3 1 在l i n u x 平台下,采用多线程技术实现了基于r t p 的实时音频传输系统, 实现了点对点、点对多点的通信。 4 ) 对影响语音质量的时延、抖动等各种因素进行了深入的分析,并通过去抖 缓冲算法有效解决了语音包的抖动问题,在时延与抖动之间达到了良好的平衡。 习针对实际应用的特点提出了r t c p 的解决方案,并对r t p 的可扩展性进 行了研究。 1 3 2 论文的安捧 论文共分为六章: 第一章介绍了实时语音传输的背景知识与发展现状。 第二章对r 1 w r t c p 协议机制进行了详尽的分析与介绍。 第三章详细论述了r t p 协议的软件设计与实现,以及l i n u x 实时语音传输系 统方案的软件设计。 第四章给出了系统的测试结果,并对利用r t p 传输语音的o o s 进行深入研 究,同时对其可扩展性进行了分析。 第五章全文的总结与展望。 第二章r t p r t o p 协议分析9 第二章r t p r t c p 协议分析 r t p 协议是用于i n t e m e t 上针对多媒体数据流的一种传输协议,为具有实时特 征的数据,如交互式音频和视频,提供端到端的传输服务。r t p 服务包括负载类 型标识、定序、提供时间戳信息,通常使用u d p 进行传输。r t p 代表一种新型的 协议,它虽隶属于传输层协议,但是它并没有作为o s i 体系结构中单独的一层来 实现,通常跟一个具体的应用相结合来提供服务。r t p 包含了两部分协议:实时 传输协议( r t p ) 与实时传输控制协议( r t c p ) 。前者用于传送实时的数据,但 r t p 本身不提供任何保证实时传送数据和服务质量的能力,而是通过提供负荷类 型指示、序列号、时戳、数据源标识等信息,在接收端根据这些信息来对实时数 据进行恢复与播放。r t c i 协议主要用于提供r t p 实时数据传输质量的反馈,同 时可以提供会话参与者的信息,对网络通信质量进行监测与反馈。 2 1r t p 协议的主要应用 r t p 协议主要有以下三类应用:简单的多播音频会议、音频和视频会议以及 混合器和翻译器。下面分别介绍这三类应用: 1 ) 简单的多播音频会议 这里的多播主要是指口网的多播业务用于语音通信,这类语音通信通过一个 多播组地址和端口对来实现,一个用于音频数据传输,另一个用于控制( r t c p ) 包的传送。这个地址和端口的信息发布给每一个与会者。当一个参与者发言时, 他的语音将以时间为单位分成许多音频帧( 如2 0 毫秒为一帧) ,以帧为单位进行 发送。发送之前,会为每一个音频数据添加一个r t p 头,然后按照头在前,数据 在后的顺序交由u d p 打包。r t p 头指明每一包使用的音频编码类型( 如p c m 、 a d p c m 、g 7 2 9 等) ,这样发送方就可以在一次会议中按照需要,如网络阻塞,或 网络状况改善,来要求改变编码类型,进而改变编码速率,来改善通话质量。 i n t e r n e t 和其它报文网络一样,会有丢包,报文失序以及报文传输产生的不同 时延问题。为了克服这些不利因素,r t p 包头携带时间戳和序列号,这样接收 方就可以重建源产生的计时信息,可以根据语音报文也可以按照2 0 m s 的间隔连续 回放了,同时,接收方也可以利用序列号来解决包乱序问题及估算包丢失数,进 而判断通话质量。 与会者在会议进行期间可能加入或退出,了解在某一时刻有哪些人参加了会 议,以及它们的语音数据接收情况是很有必要的,因此每个与会者的应用程序都 周期性的广播含有自己名字的r t c p 接收报告。r t c p 接收报告表明了这一与会者 1 0 基于r t p 的l j n u x 实时语音传输系统设计 接收语音数据的效果,同时它可以用来控制自适应编码器。另外,用户也可以使 用名字以外的其它表示信息,这要视控制带宽的情况而定。一个与会者离开会议 时要发送r t c pb y e 报文,以通知其它的参与者自己离开了。 音频和视频会议 如果在一次会议中同时使用了音频和视频会议,这两个媒体将分别在不同的 r t p 会话中传送,每一个会话使用不同的传输地址。如果一个用户同时使用了两 个会话,则在每个会话对应的r t c p 包中将使用相同的名字,这个名字在一次会 议中是唯一的,在r t c p 中以c n a m e 来表示,这样,来自同一站点的两个会话 可以相互关联。这个名字是这两个会话在r t p 级唯一的关联。通过将不同的媒体 在不同的会话中传送,与会者可以选择只接收其中一种媒体:尽管是分开传送的, 同源的音频和视频可以依据两个话路数据包中携带的计时信息以及c n a m e 参数 来实现同步回放。 3 1 混合器( m i x e r ) 和翻译器( t r a n s l a t o r ) 当与会者能接收的音频格式不一样,例如某个与会者是通过一条低速链路连 接到一个高速会议,这是就要使用混合器。混合器是一个r t p 中继。在进入音频 数据格式需要变化的网络前,混合器将送来的音频包进行再同步,重构原来的2 0 m s 时段音频包,将重构后的多个音频合并,采用另一种音频编码进行编码后,再通 过单播或多播的方式转发出去。r t p 包头中有一项c s r c ,是专门用于标记混合器 中被混合的包的源标识,这样在接收端就可以获得正确的语音发送源标识了。 翻译器也是一种r t p 级的中继,用在通过p 多播不能直接到达的用户区,例 如发送者和接收者之间存在防火墙。这种情况下,在防火墙的两边各装一个翻译 器,外边的翻译器检验收到的包的合法性后,经过一条与防火墙内的翻译器直接 相连的通道将这些包送进来,再由防火墙内的翻译器把音频流单播或多播至各个 与会者。 混合器和翻译器可以针对不同的目的而设计。例如视频混合器按比例把来自 不同的视频流的单个图像合成一个,以模仿一个群体场景。下面着重分析r t p 协 议和r t c p 协议的具体工作原理。 2 2 1r t p 协议格式 2 2r t p 协议介绍 r t p 报文格式被设计成支持不同类型的负载,由多媒体应用程序生成的音频和 视频数据块被封装在r t p 信息包中,每个r t p 信息包再被封装在u d p 报文中,进 第二章r t w r t c p 协议分析 行传输。 n窖1 6 2 4 v ,2 i p l xm l p t l s e q u e n c en u , n b e t n m 呻 s 3 m l n o m a l i a n $ a u _ n e ( s s r c ) i d m n a f h 铂劬蛐s a m ( c s r c ) i d a n t i f i e z 图2 1r t p 数据包头 在r t p 数据包中,前1 2 字节( 4 x 3 字节) 是r t p 包所固有的,c s r c 标识 列表只有使用了混合器时才存在。从其数据报头格式( 见图2 1 ) 可以看出,字段 中没有长度这一项,因为r t p 依赖于下层协议提供长度标识,所以它的最大长度 受限于下层协议。r t p 不像传统协议那样追求最完备的头部,而只是规定最少的 一部分头部,但允许对头部进行扩展和增加,不过这需要有特定的配置文件说明。 上面每个域的意义及实现如下: 版本号( v ) :2 比特,这个域代表r t p 的版本号。v = i 是第一个草案所使用 的,v = 0 用于最早实现r t p 协议的软件上,目前采用的是r t p 的版本2 。 填充位( p ) :1 比特,如果填充比特置位,则该r t p 包的尾部就包含有一到 多个附加的填充字节,这几个字节不属于净荷,其中,最后一个填充字节中包含 了填充字节的数目。填充用于使数据包具有需要的固定块大小( r t p 要求一个数 据包有4 字节的整数倍长) ,这样适合把多个r t p 包封装到一个底层协议数据单元 中。 扩展位( x ) :1 比特,如果该位置位的话,r t p 固定头部后面就跟有一个头 部扩展,该头部扩展包括各种实际应用传送与语音数据负载无关的公共消息。 c s r c 计数器( c c ) :4 比特,这个域含有固定头部后面跟着的c s r c ( c o n t r i b u t i n gs o u r c e ) 的数目。 标记位( m ) :1 比特,该位的解释由配置文档( p r o f i l e ) 来承担。值得注意的 是,与r t p 相伴的通常还会有两个文档:一个是规范说明文档,一个是格式说明 文档,每个规范都会定义一套净荷类型和他们对应的净荷格式。一般的,每一个 应用都将对应于一个规范,此规范会定义对该类的应用,对r t p 进行扩展和修改。 净荷类型( p r ) :7 比特,该域标识了r t p 净荷的格式,该标识表示r t p 净 荷类型( 如g 7 2 1 ,p t = 2 ;g 7 2 9 ,p t = 1 8 ) ,配置文件r f c 3 5 5 0 2 j 定义了一个缺 省的净荷类型码到净荷格式的静态映射集合,附加的载荷类型编码可以通过非r t p 方法动态定义( 如电子邮件、数据库等) 。一个r t p 发送者一次只能发送一种载荷 类型的数据;如果媒体流是多个独立的媒体流复合而成,则在复合流中不使用这 个域。 1 2基于r t p 的l i n u x 实时语音传输系统设计 序列号( s e q u e n c en u m b e r ) :1 6 比特,发送方在每发送完一个r t p 包后就将 该域的值增加一,接收方可以由该域检测包丢失及恢复包序列。序列号的初始值 是随机的,这减少了被攻击的可能性。这个初始值的选择与创建,与后面对时间 戳初始值和s s r c 的选取采用的方法类似。 时间戳( t i m e s t a m p ) :3 2 比特,该域记录了该包中数据的第一个字节的采样 时刻,在媒体同步和抖动计算中是不可缺少的。每一个采样时间通过一个单调且 线性递增的时钟获得。这样,接收端应用程序能够根据此时间戳以同步方式播放 该r t p 分组,并根据时间戳值来计算时延抖动。用于采样的时钟分辨率必须达到 足够的精度,以便进行同步和测量接收包的时延抖动。时钟频率由净荷所承载的 数据的格式和媒体的类型决定,它由净荷格式规范明确定义或根据净荷格式通过 非r t p 方式动态规定。 对于时间戳,其初始值的选择与s s r c 的产生类似,一般都是单调递增的, 但也有可能的是几个连续的r t p 包拥有相同的时间戳( 例如同一帧图像分别封装 到了几个r t p 包中) 。 同步源( s y n c h r o n i z a t i o ns o u r c e ,s s r c ) :3 2 比特,该域是同步源的一个标识 符。所谓同步源,就是指r t p 包流的来源。该标识符是随机选取的,在同一个r t p 会话中不能有两个相同的s s r c 值。对于如何选取一个s s r c 值,这和选取序列 号和时间戳的初始值一样。 贡献源列表( c s r cl i s t ) :0 1 5 项,每项3 2 比特,它包含了所有对该r t p 包中数据存在贡献的同步源的标识符。c s r c 标识符由混合器负责插入,用于标识 有贡献的s s r c 源。语音包如果在混合器进行了混合处理,混合产生新包的所有 源的s s r c 标识符都将被列出来,以便接收端能正确指出交谈双方的身份。 2 2 2r t p 端口分配 r t p 和u d p 一同完成传输层的功能。r t p 数据包由r t p 头和净荷两部分共同 组成,一个或多个r t p 可以放在一个u d p 包中传送。r t c p 数据包也是由头部和 若干规定的数据单元组成,数据单元的内容和格式根据实际需要的不同而不同, 一般一个u d p 包中可以放多个r t c p 包以节省带宽。两个端点在用r t p 传输媒 体流之前必须协商好接收r 1 删r t c p 数据包的目的端口号。使得r t p r t c p 数据 能够正确收发。r t p 数据发向偶数的u d p 端口,而对应的控制信号r t c p 数据 发向相邻的奇数u d p 端口【l 】( 偶数的u d p 端口加一) ,这样就构成一个u d p 端 口对。收发双方均使用各自的u d p 端口对来接收和发送r t p 数据和r ! r c p 数 据,这种r t p r t c p 端口号的成对机制对于单播( u n i c a s t ) 和多播( m u l t i c a s t ) 都 适用。发送u d p 数据也要有源端口号,对于r t p r t c p 数据包的u d p 源端口号 第二章r t p r t c p 协议分析1 3 的使用原则,协议中没有描述在实时语音传输的具体实现中通常的做法是源端 口号和接收端口号相同。 2 2 3 多路复用与协议扩展 在r t p 中,由r t p 会话的目的传输地址提供复用。例如在一个音视频会议中, 音频与视频两种煤体独立编码,应该使用各自的目的传输地址,采用两个独立r t p 会话进行传输。如果两种煤体使用同一r t i 会话,而根据载荷类型或s s r c 来解 复用,会引发一系列问题。 1 ) 如果在会话过程中,改变了其中一种载荷类型,那么就不能区分是哪一种 载荷发生了改变。 一个s s r c 用来标记一个简单的计时信息和序列号。如果媒体时钟频率不 一样,那么混合在一起的载荷类型将要求有不同的时间和不同的序列号以区别是 哪一种载荷有包丢失。 对于一个s s r c ,r t c p 接收报文和发送报文只能描述一个时间和序列号, 不能携带载荷类型。 4 ) r t p 混合器不能将不相容的流复合成一个媒体流。 5 ) 在一个r t p 会话里,复合多种媒体将会遇到一些特殊情况。如使用不同的 网络路径或网络资源分配:用户在多媒体会议中,因带宽受限只接收其中一种媒体 ( 例如只需要音频) :或者用户的应用程序是对各个媒体分别处理的。 若用不同的s s r c 来标识不同的媒体,但却在同一个r t p 会话中对他们进行传 输,这将避免前三个问题,却难以避免后两个问题。 要注意的是,在同一个r t p 会话中多路复用来自不同源的同一种媒体,由s s r c 进行区分,上述的几个问题并不适用。例如,r t p 复用器可以包含多个音频源,可 对这些源进行统一处理。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 含油果作物种植废弃物处理及利用创新创业项目商业计划书
- 农业生态湿地创新创业项目商业计划书
- 激光雷达发射芯片设计创新创业项目商业计划书
- 电子商务平台的智能化升级创新创业项目商业计划书
- 2025年防城港市理工职业学校教师招聘考试笔试试题(含答案)
- 2025年工业互联网平台AR交互技术在工业设备智能监控与维护中的应用前景报告
- 2025年能源与资源行业:全球油气资源勘探开发新技术应用报告
- 2025年城市河道整治项目社会稳定风险评估与风险评估实践应用报告
- 2025年新能源汽车驱动电机电机绝缘材料耐老化性能研究报告
- 2025年工业污染场地修复技术路径选择与成本效益研究
- 食堂的竞标标书范本
- 介入诊疗质量与安全指标
- 道教与医学的学习资料
- 大厦消防工程技术标
- 水中总氯的测定方法确认实验报告(HJ586)
- MT 282-1994煤矿用移动式甲烷断电仪通用技术条件
- 第二章-基因工程的载体和工具酶课件
- 政府采购评审专家考试题库(含答案)
- 75号公告专利收费项目和标准(官费)
- 高中生物第一课-(共24张)课件
- 电气原理图基础知识课件
评论
0/150
提交评论