13

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

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

CSRC : Contributing source (CSRC): RTP 数据包流的来源,它对 RTP 混合器产生的组合流做出了贡献(见下文)。不清楚,不知道,不懂。

有人可以举例解释吗?谢谢

4

4 回答 4

20

取自链接:

SSRC标识同步源。该值是随机选择的,目的是在同一 RTP 会话中没有两个同步源将具有相同的 SSRC。尽管多个源选择相同标识符的概率很低,但所有 RTP 实现都必须准备好检测和解决冲突。如果一个源改变了它的源传输地址,它也必须选择一个新的 SSRC 以避免被解释为一个循环源。

CSRC一个由 0 到 15 个 CSRC 元素组成的数组,用于标识此数据包中包含的有效载荷的贡献源。标识符的数量由 CC 字段给出。如果有超过 15 个贡献来源,则只能识别 15 个。CSRC 标识符由混合器插入,使用贡献源的 SSRC 标识符。例如,对于音频数据包,所有源的 SSRC 标识符都被列出,这些标识符混合在一起创建一个数据包,从而允许在接收器处进行正确的讲话者指示。

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

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

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

于 2014-02-22T07:35:00.570 回答
3

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

这不是特别正确,因为当有很多源时,RTP 混合器会混合视频/音频,在这种情况下,SSRC 是 RTP 混合器 SSRC,它不是 RTP 数据包发送方的源,以便了解您需要的源查看具有由唯一 SSRC 标识的这些源的 CSRC 数组,数组的大小也由标题字段 CC:count CSRC 给出。

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

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

于 2014-03-22T22:01:36.000 回答
0

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

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

于 2020-07-31T07:25:18.123 回答
0
  1. SSRC:

同步源标识符(32 位)区分数据流的源。同一 RTP 会话中的同步源将是唯一的。

2.证监会:

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

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

于 2017-07-26T13:39:56.723 回答