本文介绍了WebRTC:对多个对等连接使用相同的 SDP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Is it possible to use same SDP in multiple peer connections?

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

I'm building video conference using WebRTC. The idea is that caller, using some signaling mechanism, send broadcast message to all other users with it's SDP (same SDP for each user) and then users will respond with their SDP.

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

When user receive somebody's SDP, he use it to set remote description, like this:

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 但这会创建不需要的对等连接对象(根据我的想法,应该在收到其他用户的响应后创建对等对象).

I don't see here anything unique, so if B and D will use it as remote description, would it work? If yes - how can I generate this SDP? The only way I know for now is using RTCPeerConnection.createOffer but this will create unneeded peer connection object (according to my idea, peer objects should be created after received response from other users).

推荐答案

不,WebRTC 不是那样设计的.您需要为一个对等点创建一个单独的 PeerConnection.

No, WebRTC is not designed that way. You need to create a separate PeerConnection for one peer.

这篇关于WebRTC:对多个对等连接使用相同的 SDP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 02:48
查看更多