我找不到这个问题的明确答案,假设我有一个从 IP 摄像机接收 RTSP 源的服务器,该流将被广播到多个客户端,连接始终由客户端初始化。
我想知道在这种情况下使用 WebSockets 而不是 WebRTC 来广播媒体流是否会更好,因为从我所看到的 webRTC 服务器实现无论如何都不支持媒体通道,所以我需要使用数据通道,并通过将流打包为与 MediaSource 兼容,以及配置信令、TURN 和 STUN 服务器,当我可以使用 WebSockets 执行相同操作时,我是否遗漏了某些内容,或者在这种情况下 WebSockets 真的会更好吗? WebRTC 是否有任何功能可以让通过 WebSocket 实现它的开销变得值得?
编辑:忘记提及客户端是网络浏览器。
我一直在阅读一些有关 WebRTC 的内容,但我不明白为什么如果只有 1 个对等方使用对称 NAT,而另一个既不使用对称也不使用端口限制 NAT,那么为什么我们需要 Turn 服务器,所以让 \xe2\x80\x99s假设 A 使用 Full Cone NAT,B 使用对称 NAT:
\nSTUN SERVER会将B的正确IP地址发送给A,将A的正确IP+端口地址发送给B。
\nA 尝试连接到 B(现在 A 将能够接受来自 B 的消息,因为它位于目标地址列中的\xe2\x80\x99)。
\nB 尝试连接到 A,这将允许从 A 发送到 B 的请求(ofc A 需要将端口更新为从 B 而不是 Sdp 接收到的端口)。
\n我是否遗漏了一些东西,或者这是正确的(并已实现),还是这太复杂而无法实现?
\n如果这是正确的,那么理论上,如果我\xe2\x80\x99m对等体A并且我使用Full Cone NAT,任何对等体B都可以连接到我(只要我先发送连接请求),而不需要转动服务器。
\n谢谢
\n