RTP RTCP协议.ppt

上传人:哈尼dd 文档编号:5020560 上传时间:2020-01-29 格式:PPT 页数:41 大小:450.50KB
返回 下载 相关 举报
RTP RTCP协议.ppt_第1页
第1页 / 共41页
RTP RTCP协议.ppt_第2页
第2页 / 共41页
RTP RTCP协议.ppt_第3页
第3页 / 共41页
RTP RTCP协议.ppt_第4页
第4页 / 共41页
RTP RTCP协议.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《RTP RTCP协议.ppt》由会员分享,可在线阅读,更多相关《RTP RTCP协议.ppt(41页珍藏版)》请在三一文库上搜索。

1、RTP&RTCP协议 2006-4-19,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,概述,Realtime Transport Protocol 针对Internet上多媒体数据流 工作在一对一或一对多的情况下 一般建立在UDP上 只保证实时数据的传输,不能提供顺序可靠的传送机制,也不提供流量控制或拥塞控制 Realtime Transport Control Protocol 负责管理传输质量和在当前应用进程之间交换控制信息。,概述,RTP&RTCP协议,概述

2、 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,相关定义,RTP报文:固定首部负载数据组成的数据包。 RTCP报文:固定首部描述RTCP报文类型的结构元素。 Port:使用相连的整数对分别表示RTP和RTCP,来区分不同的传输协议。 RTP会话:使用一个网络地址加上一对RTP和RTCP端口来表示一个会话。 提供源(CSRC):RTP报文经过混合器时,混合器把那些产生特殊报文的贡献源的SSRC标志插入那些报文的RTP首部的列表中。这个列表就叫做CSRC列表。 混合器:可以从一个或多个源接收RTP

3、报文的中间系统,可能修改数据格式,采用某种方法合并报文并作为一个新的报文转发。 变换器:转发RTP报文并保证不修改同步源标志的中间系统。,相关定义,RTP packet in IP packet:,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,RTP数据传输协议,RTP固定首部 多路RTP会话 RTP首部扩展,RTP数据传输协议RTP固定首部,最前面的12个字节存在于所有的RTP报文中,而最后的CSRC标志只有经过混合器时才有。,RTP数据传输协议多路RTP会话,如

4、果会话中的负载类型发生改变,就没有通用的方法标志新类型该替换旧类型的哪一个。 一个SSRC是用来标志一个独立的定时器和序列号空间的。大量类型交叉的报文,如果媒体时钟速率不同的话,需要不同的定时器空间和不同的序列号空间,来标志哪种负载类型的报文被丢失了。 RTCP接收者和发送者针对一个SSRC只能描述一个定时器和序列号空间,而且也不包含负载类型域。,不推荐将音视频使用一个RTP会话,或者将音视频基于负载类型或SSRC域进行多路分解。,使用相同的SSRC传递不同负载类型的交叉报文会引起很多问题:,RTP数据传输协议RTP首部扩展,如果RTP首部的X位为1的话,RTP首部就存在一个可变长的首部扩展。

5、RTP首部的扩展机制提供了允许个人试验新的独立负载格式需要额外承载信息的功能。,如果RTP首部的X位为1的话,RTP首部就存在一个可变长的首部扩展,如果CSRC列表存在的话则紧跟其后才是扩展部分。首部扩展包含一个16位长度域,用来计算首部扩展中32位双字的个数,不包括四字节的首部扩展(因此0是有效长度)。RTP首部只能存在一个扩展。,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,RTP控制协议RTCP,基本功能是为数据分发的质量提供反馈 RTCP为RTP源承载了一个

6、不变的传输层标志 CNAME 每个参与者可以独立观测参与者的数量,计算报文送出的速率 传输最小的控制信息,比如在每个参与者的用户界面上显示参与者的名称,RTP控制协议(RTCP)是基于周期性的给会话中所有参与者传输控制报文,使用和数据报文相同的分发机制。底层协议必须对数据报文和控制报文提供多路技术,比如UDP使用不同的端口号。 RTCP执行四个功能:,RTP控制协议RTCP,RTCP报文格式 RTCP传输间隔 发送者和接收者报告 SR:发送者报告RTCP报文 RR:接收者报告RTCP报文 扩展发送者和接收者报告 接收者和发送者报告的分析 SDES:源描述RTCP报文 BYE:RTCP再见报文

7、APP:应用程序定义的RTCP报文,RTCP报文格式,SR:发送者报告,活跃的发送参与者发出的传输回复统计信息 RR:接收者报告,不活跃的发送参与者发出的统计信息回复 SDES:包含CNAME的源描述项 BYE:标志参与者结束 APP:应用程序特殊功能,承载不同控制信息的多种RTCP报文类型:,每一个RTCP报文以类似于RTP数据报文的固定头开始,紧跟着32位对齐的根据报文类型变长的可能的元素结构。,RTCP报文格式,每周期传送的复合RTCP报文必须包括一个报告报文 每个复合RTCP报文也应该包含SDES CNAME 首先出现在复合报文中的报文类型的数量应该受到限制,RTCP报文的特征使得RT

8、CP报文可叠加。复合报文中每一单个的RTCP报文可以根据报文顺序或组合被分别处理。,因此,所有的RTCP报文必须使用至少包含两个独立报文的复合报文送出。,RTCP报文格式,推荐格式如下:,RTCP传输间隔,增加RTCP发送接收报告的传送间隔,默认情况下最大间隔为5分钟。,RTP被设计成允许应用程序从少数几个参与者到成千上万的参与者自动扩大会话的规模。,如果每个参与者的接收者报告以一个不变的速率送出,流量控制将会随着参与者的数量的增加而线性增加。因此速率必须按比例下降。,发送者和接收者报告SR,发送者和接收者报告RR,接收者报告(RR)报文的格式除了报文类型域包含的常数为201和省略了发送者信息

9、的5个字长度外,其他的格式和SR报文的格式相同。剩下的域和SR报文的含义一样。没有数据传输或报告回复的时候,复合RTCP报文的首部是一个空的RR报文(RC0)。,扩展发送者和接收者报告,较少的报文字节数(没有RTCP首部或SSRC域); 简单快速的分析,由于应用程序运行在接收报告之后直接可定位访问扩展域。,如果需要有规律的报告关于发送者和接收者的附加信息,则需要配置特殊的应用程序或扩展配置。该方法使用在另外定义的RTCP报文类型中,因为这需要较少的额外开销:,如果需要附加发送者信息,必须在发送者报告的扩展域中首先包括进来,但是不会在接收者报告中展现。如果需要包含接收者信息,该信息将组织成跟接收

10、报告块已经存在的数组平行的数组块;也就是说,块的计数在RC域中表明。,接收者和发送者报告的分析,不但发送者而且接收者和第三方监控器都希望回复质量的反馈。发送者可能基于反馈修改传输;接收者能判断是局部、区域还是全局问题;网络管理者可以使用独立配置监控器只接收RTCP报文而不是RTP数据报文来评估他们网络的组播分发的执行效率。,SDES:源描述RTCP报文,每个字节块由一个SSRC/CSRC标志紧跟一个承载SSRC/CSRC有关信息的0个或多个表项列表。每个字节块的开始边界是一个32bits的数。每个表项由一个8bits的类型域、一个8bits的字节计数描述文本长度(因此,不包括这两个字节的头)以

11、及文本本身。注意文本不能超过255字节,但这是为了和限制RTCP带宽占用的需求一致。,SDES:源描述RTCP报文,CNAME:规范的终点标志SDES项 NAME:用户名SDES项 EMAIL:电子邮件地址SDES项 PHONE:电话号码SDES项 LOC:用户的地理位置SDES项 TOOL:应用或工具名SDES项 NOTE:通知/状态SDES项 PRIV:私有SDES表项扩展,BYE:RTCP再见报文,如果混合器接收到BYE报文,则保持SSRC/CSRC标志不变直接转发。如果混合器关机,它将发送一个BYE报文列出所有它掌握的有作用的源,同样包含自己的SSRC标志。,APP:应用程序定义的RT

12、CP报文,APP报文是开发新应用和新特性时的试验用的,不需要注册报文类型值。不能识别的报文类型的APP报文应该忽略。测试之后,如果广泛用户接受,则每个APP报文重新定义,没有子类型和名字域并项IANA注册并推荐作为一个RTCP报文类型。,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,RTP变换器和混合器,RTP变换器/混合器连接两个或多个传输层的“云团”。典型意义上讲,每个云由普通网络和传输协议(比如,IP/UDP)、组播地址或一对单播地址以及描述传输层的端口定义。

13、,RTCP在变换器中的处理,SR发送者信息:变换器不产生自己的发送者信息,但是向其它的云转发收到的SR报文。 SR/RR接收报告块:变换器转发从一个云接收到的接收报告到另一个云去。 SDES:变换器通常不作修改的转发从一个云收到的SDES信息到另一个。 BYE:变换器不作修改的转发BYE报文。 APP:变换不作修改的转发APP报文。,RTCP报文在混合器中的处理,SR发送者信息:由于源数据流在混合后特征会消失,因而源发送的信息不能通过混合器。 SR/RR接受报告块:混合器为云中的每个源产生一个自己的接受报告并只对这个云发送出去。 SDES:典型情况下,混合器不作修改的转发它从一个云接收到的SD

14、ES信息到另外的云团。 BYE:混合器必须转发BYE报文。 APP:混合器对APP报文的处理方式是应用程序特殊定义的。,不让SR或RR报文通过,串连混合器,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,基于网络和传输协议的RTP,RTP依赖底层协议提供对RTP数据和RTCP控制流的多路分解。 RTP报文的最大长度只受底层协议的限制。 如果RTP报文由底层协议承载并提供连续的字节流抽象 ,RTP报文封装必须提供成帧机制。,RTP&RTCP协议,概述 相关定义 RTP数

15、据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,服务器算法,(1)打开设备,分配资源。当设备准备好时,创建一个RTP实时服务线程和一个RTCP实时服务线程。 (2)创建一个UDP套接字并将其绑定到所提供服务的地址之上。 (3)反复调用接收模块,接收来自客户的RTCP报告,根据其类型做出响应。对新实时客户的请求,把客户地址添加到实时服务的客户列表中,对新文件客户的请求,则创建一个新RTP文件服务线程和一个新RTCP文件服务线程;对已经在服务中的客户则根据RTCP报告的内容调整服务。,两种服务器软件模型:并发服务器和循环服务器。流媒体服务器一般采用并发服务器算法 。,服务器算法,客户分为请求实时数据的实时客户和请求文件数据的文件客户两类:,服务器算法实时服务算法,服务器算法文件服务算法,RTP&RTCP协议,概述 相关定义 RTP数据传输协议 RTP控制协议RTCP RTP变换器和混合器 基于网络和传输协议的RTP 服务器算法 流媒体服务器实现中应注意的问题,流媒体服务器实现中应注意的问题,会话和流的两级分用 多线程的管理 时间戳的处理 媒体数据发送速度的控制 多种流同步,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1