Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebRTC:我需要轮换服务器吗?(会有帮助吗?)_Webrtc_Turn_Mediasoup - Fatal编程技术网

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

WebRTC:我需要轮换服务器吗?(会有帮助吗?),webrtc,turn,mediasoup,Webrtc,Turn,Mediasoup,我有一个使用WebRTC和mediasoup服务器的网络摄像头聊天室应用程序(所以它是多对多视频共享) 我遇到了一些问题,我的一些用户无法获得传入的视频源。这是一个困难的问题,因为我根本无法复制它,而且我也无法轻松地“远程调试”这个问题,因为我的大多数用户都是非常非技术性的。到目前为止,我唯一能确定的是,它似乎与网络有关,而不是与浏览器有关,因为我收到了使用Firefox、Chrome、Safari和Edge的用户的错误报告。我在端口443上运行我的服务器(mediasoup v2),服务器盒上

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

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

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


我不完全了解整个WebRTC协议或RFC7118(这件事真的很复杂!),也不完全了解TURN服务器在更大的范围内究竟适合什么/在哪里/如何使用。这会有帮助的,对吗?大量的谷歌搜索没有得到明确的答案。我希望能得到一些帮助!谢谢大家!

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

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

我相信AWS有一个现成的实例,你可以启动它,或者如果你可以使用这个开源的coturn服务器的话

在调试说明上。。。检查你的ice类型。如果您只有一个STUN服务器,您应该看到主机和srflx,但是如果您有一个TURN服务器,您还将看到中继。您可以通过丢弃具有主机和srflx类型的ice候选对象来复制此问题

我正在端口443上运行我的服务器(mediasoup v2),服务器盒上没有防火墙,因此应该使门尽可能宽

那是websocket。媒体流量通常通过UDP运行,mediasoup使用随机端口。在udp端口443上配置的TURN服务器在某些情况下可能会有所帮助。
另一个问题是UDP被阻止,这很容易通过本地防火墙重现。。Mediasoup支持ice tcp,它允许媒体通过tcp连接运行。您应该检查mediasoup安装是否使用ice tcp。如果没有,带有TURN/TCP的TURN服务器将有所帮助。

谢谢。我最终注册了Twilio,它已经准备好推出非常便宜的翻身/眩晕服务器。我的应用程序每月进行数百小时的视频/音频聊天,我想我这个月的Twilio账单将低于1美元!