javascript - 在 WebRTC 中识别提供 SDP 以获得答案

标签 javascript webrtc sdp

给定本地设备创建的多个 Offer SDP,以及远程设备创建的应答 SDP 来回复其中一个,是否可以识别为其创建应答的 Offer?

换句话说,答案和要约中是否存在单个连接特有的某些信息,允许两者匹配?例如,SDP 中的一个值表示 SDP 用于哪个连接。

我不确定 Offer 和 Answer 中是否使用了相同的 session ID,但如果是,则可以使用。

最佳答案

不,符合标准的 JSEP SDP 不会有任何这样的标识符。

你可以做的一个技巧(我不太推荐,因为它可能会停止在任何新的 Chrome/Firefox 版本上工作)是使用“a=mid”属性。这保证在offer和answer之间是相同的。

因此,您可以采用如下所示的 sdp:

...
a=group:BUNDLE audio video
...
a=mid:audio
...

并将其替换为

...
a=group:BUNDLE uniqueidentifier video
...
a=mid:uniqueidentifier
...

尽管如此,如上所述,这并不是面向 future 的(因为 SDP 修改最终将被禁止)。此外,MID 应该很小,因为它会在线上显示,并且在连续的报价/应答之间需要相同。我真的建议在 SDP 本身之外发送一个唯一标识符。

关于javascript - 在 WebRTC 中识别提供 SDP 以获得答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058267/

相关文章:

javascript - 在学习 Ajax 之前我需要了解什么?

javascript - 在 JavaScript 中,字符串/数组的 .length 属性是否进行任何处理?

javascript - 如何使用 640*480 分辨率更改 getusermedia 中的 FPS?

javascript - Opentok视频捕捉

javascript - 一个项目中可以有多个 package.json 吗?

javascript - 使用循环打印javascript的时间

webrtc - 为什么存在端口 9 的 TCP WebRTC 候选者,但浏览器没有监听该端口?

html - 如何在没有答案的情况下使用 WebRTC?

webrtc - "iceConnectionState"是 "failed"没有任何错误

ffmpeg - 使用ffmpeg将rtsp流式传输到rtmp时丢失数据包错误