gpt4 book ai didi

WebRTC:我需要 TURN 服务器吗? (这会有帮助吗?)

转载 作者:行者123 更新时间:2023-12-05 02:59:46 26 4
gpt4 key购买 nike

我有一个使用 WebRTC 和 mediasoup 服务器的网络摄像头聊天室应用程序(因此它是多对多视频共享)。

我遇到一些问题,我的一些用户无法让传入的视频源正常工作。这是一个难题,因为我根本无法重现它,而且我不能轻易地“远程调试”这个问题,因为我的大多数用户都非常不懂技术。到目前为止,我唯一可以肯定的是,它似乎与网络相关,而不是与浏览器相关,因为我已经收到来自使用 Firefox、Chrome、Safari 和 Edge 的用户的错误报告。我在端口 443 上运行我的服务器(mediasoup v2),服务器盒上没有防火墙,所以这应该使门尽可能宽。我只是不知道确切的问题是什么,所以我在黑暗中摸索。

所以,我正在尝试解决方案。我不认为(?)我设置了 TURN 服务器,但从我读到的内容来看,似乎添加一个肯定不会有什么坏处,并且可以帮助解决我的情况。

我不完全理解整个 WebRTC 协议(protocol)或 RFC 7118(这东西真的很复杂!)或者 TURN 服务器究竟是什么/在哪里/如何适合更大的画面。这会有所帮助,对吧?大量谷歌搜索导致没有明确的答案。会喜欢一些帮助!谢谢!

最佳答案

WebRTC 会尽其所能建立 p2p 连接,但有时会失败。转弯服务器充当最后的手段,以便对等点都可以通过转弯服务器进行连接。显然这不是 p2p 连接,因此会有额外的延迟,并且您必须确保您的 turn 服务器有足够的带宽来覆盖您期望的所有连接。

TL;DR,如果你需要 100% 的连接率,你应该有一个回合服务器。

我相信 AWS 有一个现成的实例,您可以启动,或者如果您可以使用这个开源 coturn 服务器 https://github.com/coturn/coturn

关于调试说明...检查您的 ice candidates 类型。如果你只有一个 STUN 服务器,你应该看到 host 和 srflx,但如果你有一个 TURN 服务器,你也会看到 relay。您可以通过丢弃具有 host 和 srflx 类型的 ice candidates 来重现此问题。

关于WebRTC:我需要 TURN 服务器吗? (这会有帮助吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57547378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com