中国证监会和SSRC在RTP

时间:2014-02-14 09:31:55

标签: sip rtsp rtp rtcp

我对RTP很新,有人可以解释一下CSRC和SSRC吗?

来自http://www.rfc-editor.org/rfc/rfc3550.txt, 它的含义是:SSRC字段标识同步源。这是否意味着,在网络中可能有许多发送者正在为RTP(多播网络)做出贡献并确定数据包来自哪个来源?

CSRC:贡献源(CSRC):RTP数据包流的来源,它对RTP混频器产生的组合流做出了贡献(见下文)。不明白。

有人可以用例子说明吗? 感谢

4 个答案:

答案 0 :(得分:12)

取自link:

  

SSRC 标识同步源。该值是随机选择的,其意图是没有两个同步源   相同的RTP会话将具有相同的SSRC。虽然概率很大   选择相同标识符的多个源是低的,所有RTP   实现必须准备好检测和解决冲突。如果   一个源更改其源传输地址,它还必须选择一个   新的SSRC,以避免被解释为循环源。

     

CSRC 一个0到15个CSRC元素的数组,用于标识此数据包中包含的有效负载的贡献源。该   标识符的数量由CC字段给出。如果有更多   15个贡献来源,只有15个可以确定。 CSRC标识符   由混合器插入,使用SSRC的贡献标识符   源。例如,对于音频数据包,所有的SSRC标识符   列出混合在一起创建数据包的源,   允许在接收器上正确的说话者指示。

说实话,我从未见过有人以任何有意义的方式使用SSRC或CSRC。在我处理过的所有代码中,我们只是在SSRC中生成一个随机数,并且从不打扰填写CSRC。

我猜想SSRC在跟踪和/或检测循环音频路径时可能很有用。

我猜CSRC对于从会议服务器接收音频的SIP端点可能很有用,其中多个音频源混合在一起,如上面引用中所示。正如我所说,在我处理的会议服务器代码中,我们不打扰。

答案 1 :(得分:2)

关于您的问题“这是否意味着,在网络中可能有许多发件人正在为RTP(多播网络)做出贡献并确定数据包来自哪个来源?”

具体情况并非如此,因为当有许多信号源时,视频/音频由RTP混音器混合而在这种情况下SSRC是RTP混音器SSRC,它不是RTP数据包发送方的来源,以便知道您需要查看CSRC阵列的源,这些阵列具有由唯一SSRC标识的这些源,阵列的大小也由头字段CC:count CSRC给出。

如果音频/视频未合并(单播),则SSRC属于此视频/音频的发送者且CSRC未填写。

有用的演示: http://voip.netlab.uky.edu/~fei/teaching/cs671/slides/rtp.pdf

答案 2 :(得分:0)

  1. SSRC:
  2. 同步源标识符(32位)区别地区分数据流的源。同一RTP会话中的同步源将是唯一的。

    2.CSRC:

    贡献源ID(每个32位)汇总了从多个源生成的流的贡献源。

    https://en.wikipedia.org/wiki/Real-time_Transport_Protocol

答案 3 :(得分:0)

根据RFC 8108 section 4,以下是规范:

如果使用RTP混合器,则某些SSRC可能仅在RTP数据包的贡献源(CSRC)列表和RTCP中可见,而可能不会直接显示为RTP数据包的SSRC。