Можно ли использовать тот же SDP в нескольких одноранговых соединениях?WebRTC: используйте тот же 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
, но это создаст ненужный объект соединения со сверстниками (согласно моей идее, одноранговые объекты должны быть созданы после получения ответа от других пользователей).
a = recvonly in above SDP, как я могу сделать это = sendrecv. – hanu
@hanu, используя некоторые функции замены строк или регулярные выражения, я думаю. – SET
получил его .. его pc.addstream, затем pc.createoffer – hanu