LarkXR V3.2.10.0及以上适用
使用场景:由于每路视频流都需要建立一个UDP连接,需要使用到多个UDP端口。当部署环境对网络要求比较严格,没办法开通多个端口的情况下,可以使用turn服务器转发的方案,下面介绍如何搭建turn服务器,以及LarkXR如何集成turn服务器
一. 部署
Linux 版本部署 coturn server 参考资料 https://www.an.rustfisher.com/webrtc/turn/ubuntu-run-coturn/
通过service方式启动的启动状态
启动的命令行参数
/usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid
Windows 版 coturn server 下载地址,配置和参数同 linux 版本
https://github.com/mcottontensor/coturn/releases/tag/v4.5.2-windows
启动的命令行参数
windows启动turnserver
.\turnserver.exe -p 3478 -r larkxr -X 192.168.0.58 -E 192.168.0.58 --no-cli --no-tls --no-dtls -f -a -v -n -u pxy:pxy
-p 3478:指定 TURN 服务器监听的端口号为 3478。
-r larkxr:指定 TURN 服务器的域名或实例名为 "larkxr"。
-X 11.126.74.154:指定 TURN 服务器的外部 IP 地址。
-E 10.1.7.162:指定 TURN 服务器的伪造 IP 地址。
-no-cli:禁用命令行控制台,表示不允许通过交互式命令行配置服务器。
-no-tls:禁用 TLS,表示不使用加密的传输层安全性协议。
-no-dtls:禁用 DTLS,表示不使用基于数据报的加密的传输层安全性协议。
-f:启用全局访问,表示应允许从外部网络访问 TURN 服务器。
-a:启用授权,表示要求客户端提供授权凭据。
-v:启用详细日志,表示输出更详细的日志信息。
-n:禁用 UDP 包大小限制,表示不对 UDP 包的大小进行限制。
-u pxy:pxy:指定 USERNAME 和 PASSWORD 为 "pxy"。
Turn 测试工具
https://icetest.info/
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
二. 配置渲染服务器 ice server
修改larkxr-render/application.properties
编辑如下配置在配置文件中
- 格式如:turn:47.94.38.44:3478
pxy.ice.server.uri=turn:192.168.1.1:3478 // turn服务器内网地址:端口
pxy.ice.server.username=pxy // turn服务器用户名
pxy.ice.server.password=pxy // turn服务器密码
pxy.ice.server1.uri=turn:47.94.38.44:3478 // turn服务器外网地址:端口
pxy.ice.server1.username=pxy // turn服务器用户名
pxy.ice.server1.password=pxy // turn服务器密码
三、常见问题
1. 提示找不到这个IP
命令行参数里增加一个 -L 本机IP