RTCP接收器报告的发送间隔是多少?在RFC 3550中,我只能找到服务器的RTCP传输间隔的计算。但作为一个客户,我不知道成员和发送者(或者我?)。所以我有点混淆如何计算间隔,或者我应该在一段时间内发送RTCP RR还是应该只在收到SR时发送RR数据包?
答案 0 :(得分:2)
根据 RFC 1885(授予其早于 3550 的版本)声明:
The calculated interval between RTCP packets is required to be greater than a minimum of 5 seconds to avoid having bursts of RTCP packets exceed the allowed bandwidth when the number of participants is small and the traffic isn't smoothed according to the law of large numbers.
在 WebRTC 的实践中,我通常会看到每秒关于 SR 和 RR 的报告。
答案 1 :(得分:1)
RTP和RTCP协议不区分客户端和服务器。两者都是RTP会话中的成员,并且都可以发送和接收RTP数据。成员根据RFC 3550 Section 6.2中的算法发布间隔的RTCP报告。
会员发出复合RTCP报告,其中包含接收者报告和可选的发件人报告(如果该成员已发送任何RTP数据包)(其他报告类型也可能包含在复合报告中)。 RFC 3550 Section 6.4:
RTP接收器使用RTCP报告包提供接收质量反馈,该报告包可以采用两种形式中的一种,这取决于接收者是否也是发送者。除了数据包类型代码之外,发送方报告(SR)和接收方报告(RR)形式之间的唯一区别在于发送方报告包括20字节的发送方信息部分供主动发送方使用。如果站点在发布上一个报告或上一个报告后的间隔期间发送了任何数据包,则会发出SR,否则将发布RR。
即使您的RTP数据仅在一个方向上流动,客户端和服务器都是RTP接收器。您应该能够观察发送方(您的服务器)创建带有SR和RR消息的复合RTCP数据包。您的客户端应该发送仅带有RR消息的RTCP数据包