16

是否可以在多个对等连接中使用相同的 SDP?

我正在使用 WebRTC 构建视频会议。这个想法是呼叫者使用某种信令机制,使用它的 SDP(每个用户的 SDP 相同)向所有其他用户发送广播消息,然后用户将使用他们的 SDP 进行响应。

当用户收到某人的 SDP 时,他使用它来设置远程描述,如下所示:

connection = new RTCPeerConnection()
desc = RTCSessionDescription({sdp: SDP, type: "offer"});
connection = setRemoteDescription(desc);

这是 SDP 示例:

v=0
o=- 6843023960119608301 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS
m=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:q36dZRVoaS4ixPYP
a=ice-pwd:K5yAm4A+zGoIKIgsX9o4VgDA
a=ice-options:google-ice
a=fingerprint:sha-256 62:3E:99:2F:FF:D4:58:7C:F0:A1:02:3F:09:2B:D1:F3:71:D7:F6:59:62:12:E4:1B:4A:68:01:4C:43:E0:D1:75
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=recvonly
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_32 inline:Tdz5Z3KHB3Xosqr5D53WZfi7Zndz+932X3H46Qvf
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:NJO4XhhHUgiJRCfyYzDgajkCJAF/9BX8QeU+FKQs
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60

我在这里没有看到任何独特的东西,所以如果 B 和 D 将其用作远程描述,它会起作用吗?如果是 - 我如何生成此 SDP?我现在知道的唯一方法是使用RTCPeerConnection.createOffer,但这会创建不需要的对等连接对象(根据我的想法,应在收到其他用户的响应后创建对等对象)。

4

4 回答 4

11

不,WebRTC 不是这样设计的。您需要为一个对等方创建单独的 PeerConnection。

于 2014-02-19T07:40:33.227 回答
3

您可以使用相同的 SDP,只要它不包含候选字段!这些候选字段绑定到本地 RTP 端口,不可重用。

于 2014-04-07T09:47:05.893 回答
2

不,如果您找到解决此问题的方法,那将是一个非常糟糕的主意。互联网上两个端点之间的“连接”概念实际上可以分解为两点之间协商的会话。此会话可能具有对于每个“连接”都相同的字段,但其他字段对于每个对等点都是唯一的。TCP 是通过创建基本连接会话作为其规范的一部分而开发的。WebRTC 始终通过 UDP 进行通信(即使在通过 TCP 隧道的情况下),而 UDP 没有连接的概念。WebRTC 在创建连接会话的过程中使用 SDP,SDP 发现/定义每个连接所需的所有字段。

于 2018-07-14T16:05:13.350 回答
1

我认为您正在尝试开发多个广播(从上图),可以在 webrtc 中创建多个对等点(例如,如果您想在两个浏览器中广播您的视频,则需要两个对等点连接方式)

SDP:此协议包含您的浏览器信息,例如您的公共 ip、端口、编解码器和通信方式方式(仅音频、仅视频、数据通道等)

因此,如果您想与其他对等点通信(因为您的公共 ip、端口、编解码器)相同,则上述信息很常见,因此可以共享您的 sdp 多个对等点(注意:您为每个用户打开新的对等点)

于 2014-02-15T07:20:20.290 回答