4

典型的 SDP 消息

v=0
o=- 3376022867449415700 2 IN IP4 127.0.0.1
s=Doubango Telecom - chrome
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS Jyup2XWPA5tOgvau9NIBMjlZFQzSEl6g3P0b
m=audio 57008 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126
c=IN IP4 202.53.167.164
a=rtcp:57008 IN IP4 202.53.167.164
a=candidate:2068563606 1 udp 2122194687 192.168.10.148 57008 typ host  generation 0
a=candidate:2068563606 2 udp 2122194687 192.168.10.148 57008 typ host generation 0
a=candidate:902314598 1 tcp 1518214911 192.168.10.148 0 typ host tcptype active generation 0
a=candidate:902314598 2 tcp 1518214911 192.168.10.148 0 typ host tcptype active generation 0
a=candidate:3083270405 1 udp 1685987071 202.53.167.164 57008 typ srflx raddr 192.168.10.148 rport 57008 generation 0
a=candidate:3083270405 2 udp 1685987071 202.53.167.164 57008 typ srflx raddr 192.168.10.148 rport 57008 generation 0
a=ice-ufrag:cinBWZB6tiSnOnf1
a=ice-pwd:50yVBGm5WuKlbZeyRrmjOvMn
a=ice-options:google-ice
a=fingerprint:sha-256 7C:69:84:B5:D5:C1:86:D0:56:8F:22:BA:5F:61:AD:1E:55:21:5A:6A:50:35:0C:49:E2:43:E9:C0:03:CC:B5:31

任何候选优先级取决于参考 RFC 5245 的典型偏好、本地偏好和组件 ID

RTP 组件 id 为 1,RTCP 组件 id 为 2

因此,根据组件 ID,候选者的优先级会发生变化。

但是在上面的代码示例中,为什么不同组件 id 和相同类型的候选者的优先级相同。

4

1 回答 1

3

引用自 [RFC5245][1]

代理应该使用第 4.1.2.1 节中的公式计算此优先级

注意应该这个词。让我们看看 [RFC2119][2] 中的含义

应该这个词,或形容词“推荐”,意味着在特定情况下可能存在忽略特定项目的正当理由,但在选择不同的课程之前,必须理解并仔细权衡全部含义。

这意味着它不是绝对需要精确地遵循算法来计算候选人的优先级。如果有必要,可以修改算法。我认为您提供的 SDP 就是这种情况。在计算优先级时,他们忽略了候选的组件 ID。[1]:https ://www.rfc-editor.org/rfc/rfc5245#section-4.1.2 [2]:https ://www.rfc-editor.org/rfc/rfc2119

于 2015-07-30T14:46:47.887 回答