织梦CMS - 轻松建站从此开始!

罗索

RTCP相关

落鹤生 发布于 2014-02-26 23:34 点击:次 
事实上,总是两个或多个RTCP包被捆绑成一个混合包发送出去的。所有的RTCP包都必须以一个SR或RR开始,都必须包含至少一个SDES,即使在SDES之间加上一个空的SR或RR。
TAG: RTCP  QoS  

能够在会话参与者之间进行周期性的控制信息交换,主要目的是提供质量
相关的反馈。通过使用RTCP和IP多播机制,可以进行第三方的监视和检测。
RTCP定义了5种不同类型的RTCP包:
1.Sender Report(SR)用来中继发送和接收统计;
2.Receiver Report(RR)只接收而不发送媒体流的参与者发送的接收统计;
3.Source Description(SDES)包含某一特定会话参与者的一个或多个描述。必须包含一个唯一的canonical name(CNAME)用于标识会话的参与者,它不同于SSRC,因为当主机reset后SSRC的值可能会发生改变。再者,如果在一个给定的会话中,发 送者同时发送音频和视频的两路RTP流,则这两种媒体流有不同的SSRC值但是却有相同的CNAME;
4.BYE 表示一个会话中的参与中止;
5.APP 用于调查特定的媒体类型和应用信息,不过RTCP没有明确APP包的详细内容。

事实上,总是两个或多个RTCP包被捆绑成一个混合包发送出去的。所有的RTCP包都必须以一个SR或RR开始,都必须包含至少一个SDES,即使在SDES之间加上一个空的SR或RR。
Compound Packet举例:(发送者离开此次会话)
H:Header D:Data
-----------------------------------------------
| SR H | SR D | SDES H | SDES D | BYE H | BYE D |
-----------------------------------------------

RTCP Sender Report(SR)
由三部分组成:header,sender information和多个Report Block
1.header:
RC域,表示含有多少个receiption report blocks,5bit,一个SR之后最多可以跟31个RR blocks。当RR多于31个时只需在最后一个RR后再跟一个SR即可;
Payload Type(TP)的值为200;

2.Sender info:
SSRC of sender 发送者的SSRC;
NTP Timestamp 两个字,第一个表示整数部分,第二个表示小数部分,以1900年1月1日00:00时为参照时间,单位是秒,小数部分精确到200皮秒,此版本的网络时间 协议2036年到期,在此之间应该会有新的版本,此时间戳信息来自于一个时间服务器,这个服务器通过NTP协议在网络上传播计时信息;
RTP Timestamp 同时包含RTP和NTP时间戳是为了使接收方更好的于发送方保持同步;
Sender's packet count 记录从会话开始到此RTCP包发出这之间所传输的RTP包的总数,只有当发送者的SSRC值改变时此项才重置;
Sender's octet count 记录从会话开始到此RTCP包发出这之间所传输的载荷字节的总数,只有当发送者的SSRC值改变时此项才重置;

3.RR Blocks:(RR用于反馈RTP包的接收情况)
SSRC_n 表示与此RR块相关的会话参与者的源标识;
Fractioin lost (8bit)表示包的丢失率是多少,即丢失的包的数量除以期望的包的数量,丢失的包的数量可以通过每次检查RTP包头中的Sequence Nmuber统计出来;
Cumulative number of packets lost (24bit)从会话开始至今丢失的包的总数;
Extended highest sequence number receirved (32bit)低16位表示最近收到的RTP包的序列号,一般情况下高16位全为0,但如果收到的某一个发送源的序列号出现循环,则在它的相应RR段中此 高16位值表示已循环的次数;
Interarrival jitter 对RTP包到达不一致性的估计;
Last SR Timestamp(LSR) 表示所接收到的此RR块对应的SSRC发送的最后一个SR中64-bit NTP时间戳的中间32位,以告知它所发送的SR是否已经被收到;
Delay Since Last SR (DLSR)从收到最后一个SR到此RR块被发出经历的时间,精确到1/65536秒。

RR包包括header,发送者SSRC以及Report Blocks,基本与SR相同,只是header中的PT值为201。

RTCP Source Description Packet (SDES)相关
必须存在于每一个RTCP混合包中,由一个header和0个或多个chunk组成,header中的PT值为202,SC的值表示chunk的个数;
每个chunk包括一个SSRC或CSRC值,之后是一些SDES项,比如email地址、电话号码、姓名等等,但是有一个项是必需的,即CNAME,它的形式为user@host。

RTCP BYE Packet
PT值为203,SC表示SSRC或CSRC的数量,在这之后有个length域表示文本字符串的字节数,length域之后是以文本字符储存的离开会话的原因。

Application-Defined RTCP Packet略

(翰海鸟人)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201402/16920.html]
本文出处:网络 作者:翰海鸟人
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容