RTP_RTCP_RTSP协议详解

RTP_RTCP_RTSP协议详解

ID:38033744

大小:132.24 KB

页数:6页

时间:2019-05-24

RTP_RTCP_RTSP协议详解_第1页
RTP_RTCP_RTSP协议详解_第2页
RTP_RTCP_RTSP协议详解_第3页
RTP_RTCP_RTSP协议详解_第4页
RTP_RTCP_RTSP协议详解_第5页
资源描述:

《RTP_RTCP_RTSP协议详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、蓝精灵技术解决方案RTP、RTCP、RTSP协议详解一、RTP协议实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在UDP上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是RTP可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。RTP本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。R

2、TP协议并不保证传送或防止无序传送,也不确定底层网络的可靠性。RTP实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。RTP协议由两个紧密链接部分组成:RTP―传送具有实时属性的数据;RTP控制协议(RTCP)―监控服务质量并传送正在进行的会话参与者的相关信息。RTCP第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。协议结构1

3、238916bitVPXCSRCCountMPayloadTypeSequencenumberTimestampSSRCCSRC(variable0–15items32bitseach)V―版本。识别RTP版本。P―间隙(Padding)。设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。X―扩展位。设置时,在固定头后面,根据指定格式设置一个扩展头。CSRCCount―包含CSRC标识符(在固定头后)的编号。M―标记。标记由Profile文件定义。允许重要事件如帧边界在数据包流中进

4、行标记。6蓝精灵技术解决方案PayloadType―识别RTP有效载荷的格式,并通过应用程序决定其解释。Profile文件规定了从Payload编码到Payload格式的缺省静态映射。另外的PayloadType编码可能通过非RTP方法实现动态定义。SequenceNumber―每发送一个RTP数据包,序列号增加1。接收方可以依次检测数据包的丢失并恢复数据包序列。Timestamp―反映RTP数据包中的第一个八位组的采样时间。采样时间必须通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。SS

5、RC―同步源。该标识符随机选择,旨在确保在同一个RTP协议会话中不存在两个同步源具有相同的SSRC标识符。CSRC―贡献源标识符。识别该数据包中的有效载荷的贡献源。一、RTCP:RTP控制协议RTP控制协议(RTCP)采用与数据包相同的分发机制,将控制包周期性传输到所有会话参与者中。底层协议必须提供数据和控制包的多路发送,例如使用不同的UDP端口号。RTCP主要完成四个功能服务:RTCP提供数据分发质量反馈信息。这是RTP作为传输协议的部分功能并且它涉及到了其它传输协议的流控制和拥塞控制。RTCP为

6、RTP源携带一个持久性传输层标识符,称为规范名或CNAME。由于一旦发现冲突或程序重启时,SSRC标识符会随之改变,所以接收方需要CNAME来跟踪每一个参与者。同时接收方还要求CNAME能够与一组相关RTP会话中来自于给定参与者的多重数据流相关联,例如同步视频和音频。上述前两个功能要求所有的参与者都要发送RTCP包,因此必须控制速率以便RTP按比例增加大量的参与者。通过每一个参与者发送各自的控制包给其它所有参与者,每一个参与者能够独立观察到参与者数量,该数量可用来计算控制包的发送速率。OPTIONA

7、L功能用于传送最少会话控制信息,例如在用户界面显示参与者标识。这对于“松散受控”会话(在没有成员控制或阐述协商的情况下,参与者可以加入或退出该会话)是非常有用的。  上述功能1-3适用于所有环境,尤其是IP组播环境。RTP应用程序设计者应该避免设计只能工作于单播模式并且不能增加到大量数量的机制。在某些情况下如单向链接中,不可能有来自接收方的反馈,所以RTCP的传输就可能由发送方和接收方分别独立控制。协议结构23816bit6蓝精灵技术解决方案VerPRCPackettypeLengthVersion

8、――识别RTP版本。RTP数据包中的该值与RTCP数据包中的一样。当前规范定义的版本值为2。P――间隙(Padding)。设置时,RTCP数据包包含一些其它padding八位位组,它们不属于控制信息。Padding的最后八位是用于计算应该忽略多少间隙八位位组。一些加密算法中需要计算固定块大小时也可能需要使用Padding字段。在一个复合RTCP数据包中,只有最后的个别数据包中才需要使用padding,这是因为复合数据包是作为一个整体来加密的。RC――接收方报告计数。包

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。