gpt4 book ai didi

tcp - 通过 tcp 的 Webrtc 媒体?

转载 作者:可可西里 更新时间:2023-11-01 02:33:44 26 4
gpt4 key购买 nike

我是 WebRTC 的新手。

我了解到了转弯服务器。

以下内容用于配置 turn 服务器在 webrtc 应用程序的 TCP 上工作。

webrtc 应用程序中的服务器配置示例:-

{

url: ‘turn:192.158.29.39:3478?transport=tcp’,
credential: ‘JZEOEt2V3Qb0y27GRntt2u2PAYA=’,
username: ‘28224511:1379330808′

}

?transport=tcp 的意思是它像他们所说的那样在 TCP 协议(protocol)上工作。

我的问题是,

turn server works on TCP 意味着,它只是为了在它工作在 TCP 上的 turn server 之间建立连接,或者通过它使用 TCP 协议(protocol)的 turn server 传输 WebRTC 媒体。 TCP 数据包的用途是什么?

是否可以通过 TCP 数据包传输 WebRTC 媒体?

最佳答案

不推荐强制 WebRTC 媒体通过 TCP,它只是严格防火墙的后备选项。

如果您在 TURN url 中指定 ?transport=tcp,则 WebRTC 客户端将通过 TCP 连接到 TURN 服务器。
客户端将通过 TCP 发送 STUN 请求以分配中继候选者(据我所知,目前 chrome/firefox 仅请求 UDP 中继候选者)。

通过 TURN 服务器强制使用严格的 TCP:

  • 仅使用带有 ?transport=tcp 的 TURN url>
  • 指定iceTransportPolicy:"relay",这样所有的媒体都会通过TURN流动

在peerConnections之间交换relay candidates(udp)后,媒体路径如下

P1 <--TCP--> P1TURN <--UDP--> P2TURN <--TCP--> P2

如果 P1TURN 和 P2TURN 始终相同,那么您可以选择 TURN 中继路径作为 LAN/lo 接口(interface),即您将获得具有 LAN/lo IP 的 UDP 中继候选者。

如果你想在媒体路径中避免 UDP & 两次 TURN,你需要使用一些 SFU/SVC,比如 Jitsi (支持伪 SSL 候选人)/Janus .
然后媒体路径将如下所示

P1 <--TCP--> SFU/MCU <--TCP--> P2

关于tcp - 通过 tcp 的 Webrtc 媒体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44627013/

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