UnityRenderStreaming内网转发到公网
本文介绍了WebRTC中继服务器coturn的配置与使用。内容包括:1)coturn服务器的配置文件和启动方法;2)WebApp源码编译及配置修改,重点调整ICE服务器设置;3)Unity工程中SignalingManager的URL和ICEServers配置;4)服务器端口开放要求;5)展示了运行效果截图。通过coturn实现NAT穿透,为WebRTC应用提供稳定的媒体中继服务。
1、coturn
前文已编译好了coturn https://xue-fei.blog.csdn.net/article/details/155945401
配置文件 turnserver.conf
# 监听地址和端口
listening-port=3478
tls-listening-port=5349
listening-ip=0.0.0.0
# 你的公网 IP(必须!用于 NAT 穿透)
external-ip=x.x.x.x
relay-ip=0.0.0.0
# 认证方式(静态用户名/密码)
user=xx:xx
# Realm(必须设置,可任意域名)
realm=default-realm
# 启用 TURN 中继(关键!)
fingerprint
lt-cred-mech
# 日志(可选)
log-file=.\turn.log
verbose
# WebRTC 媒体中继端口范围(必须!)
min-port=49152
max-port=65535
启动
turnserver.exe -c turnserver.conf
2、WebApp
下载WebApp源码 https://codeload.github.com/Unity-Technologies/UnityRenderStreaming/zip/refs/tags/3.1.0-exp.9
编译过程看这里 https://xue-fei.blog.csdn.net/article/details/135345064
需要修改的地方 WebApp\client\public\js\config.js
import {getServers} from "./icesettings.js";
export async function getServerConfig() {
const protocolEndPoint = location.origin + '/config';
const createResponse = await fetch(protocolEndPoint);
return await createResponse.json();
}
export function getRTCConfiguration() {
let config = {};
config.sdpSemantics = 'unified-plan';
//注释掉这行
//config.iceServers = getServers();
config.iceServers = [{
urls: ['stun:stun.l.google.com:19302']
}, {
urls: ['turn:x.x.x.x:3478?transport=tcp'],
username: 'xx',
credential: 'xx'
}
];
return config;
}
启动
webserver.exe -p 9090
3、Unity工程设置
SignalingManager 修改URL和ICEServers
4、服务器端口号设置
放开3748/3749的udp和tcp
放开32355/65535的udp和tcp
5、一些截图



火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)