我正在制作一个 WebRTC 应用程序,它在 wifi 上运行良好。但当我通过 4G 在手机上打开该应用程序时,webRTC 直播无法启动。
似乎创建 iceConnectionState 时出了点问题。对于 Iceserver,我在 Nginx 服务器上使用 coturn 创建了一个 turn 服务器,设置如下:
listening-port=3478
tls-listening-port=5349
listening-ip=my-public-ip
relay-ip=my-public-ip
external-ip=my-public-ip
fingerprint
user=Dominique:GS7Yq_jK
lt-cred-mech
server-name=domain.com
realm=domain.com
log-file=/var/log/turnserver/turnserver.log
simple-log
external-ip=my-public-ip
total-quota=100
stale-nonce=600
# Authentication method
use-auth-secret
static-auth-secret=33515e71ba1d0a96e77083f7e4215d99afe36204b6f382e1715fbb9314ae61d0
cert=/etc/letsencrypt/live/domain.com/fullchain.pem
pkey=/etc/letsencrypt/live/domain.com/privkey.pem
在我的 nginx.conf 中我添加了以下块
stream {
server {
listen 3478 udp;
proxy_pass domain.com:3478;
}
server {
listen 5349 udp;
proxy_pass domain.com:5349;
}
}
当我通过此测试我的 Turn 服务器时测试站点
我通过这些设置得到了这个结果
urls: 'turn:domain.com:3478',
username: 'Dominique',
credential: 'GS7Yq_jK'
有谁能帮我吗?我想让 webRTC 在 4G 上运行
谢谢您的帮助!
Gr,多米尼克