首页 文章

如何使用WebRTC实现TURN首次ICE连接?

提问于
浏览
1

在几个WebRTC会话中(通过Philipp HankeChad Hart),提到了TURN或Relay第一个WebRTC连接的主题 .

总之,它们描述了如何首先通过TURN服务器 Build 连接“TURN first”或“Relay first”,然后在几秒钟内尝试 Build 对等连接 . 这应该是在启动呼叫之前最小化延迟以获得更快的呼叫开始时间 . Chad说如果修改核心WebRTC堆栈,这种事情是可能的 .

有没有办法在浏览器中实现更快的TURN第一次连接,或者这只能通过WebRTC的自定义实现来实现?

如果没有,是否有任何TURN首次实现的开源示例?

1 回答

  • 2

    有几种选择:1)设置冰策略进行中继, Build 呼叫,然后将冰策略更改为所有并重新启动冰 . 这在性能方面是最好的,冰重启费用相当多 . 需要setConfiguration,仅在Chrome 58中可用,有关详细信息,请参阅https://bugs.chromium.org/p/webrtc/issues/detail?id=4591#c26 .

    2)更改addIceCandidate调用的顺序,并且只添加类型为relay的候选者 . 冰连接状态变为连接后,添加所有其他候选 . 这有效,但只是近似性能 .

    3)如果您使用本机webrtc堆栈,https://bugs.chromium.org/p/webrtc/issues/detail?id=4591为此实现了一个选项 . 它没有遗憾地暴露于Javascript .

相关问题