sur*_*mar 3 media tcp webrtc turn server
我是WebRTC的新手。
我了解到转弯服务器。
下面的内容用于为Webrtc应用程序配置Turn Server在TCP上运行。
在webrtc应用程序中打开服务器配置示例:-
{
url: ‘turn:192.158.29.39:3478?transport=tcp’,
credential: ‘JZEOEt2V3Qb0y27GRntt2u2PAYA=’,
username: ‘28224511:1379330808?
}
Run Code Online (Sandbox Code Playgroud)
?transport = tcp的含义是它可以像他们所说的那样在TCP协议上工作。
我的问题是
轮流服务器基于TCP方式工作,它仅用于在其上基于TCP的轮流服务器之间建立连接,或者用于通过使用TCP协议的轮流服务器传输WebRTC媒体。TCP数据包用于哪个目的?
是否可以通过TCP数据包传输WebRTC媒体?
不建议通过TCP强制WebRTC媒体,它只是严格防火墙的后备选项。
如果您?transport=tcp在TURN网址中指定,则WebRTC客户端将通过TCP连接到TURN服务器。
客户端将通过TCP发送STUN请求以分配中继候选者(据我所知,目前chrome / firefox仅请求UDP中继候选者)。
要通过TURN服务器强制执行严格的TCP:
?transport=tcpiceTransportPolicy:"relay",以便所有媒体都将通过TURN传输在peerConnections之间交换中继候选者(udp)之后,媒体路径将如下所示
P1 <-TCP-> P1TURN <-UDP-> P2TURN <-TCP-> P2
如果P1TURN和P2TURN始终相同,则可以选择TURN中继路径作为LAN / lo接口,即您将获得具有LAN / lo IP的UDP中继候选者。
如果要避免在媒体路径中使用UDP和两次TURN,则需要使用一些SFU / SVC,例如Jitsi(支持伪SSL候选)/ Janus。
然后媒体路径如下
P1 <-TCP-> SFU / MCU <-TCP-> P2
| 归档时间: |
|
| 查看次数: |
2299 次 |
| 最近记录: |