我在github中的问题:https://github.com/webrtc/apprtc/issues/615我无法为信号服务器配置 apprtc,只需通过 wifi 呼叫视频,但通过移动网络没有运气。请查看我的配置,我在任何地方都找不到任何 constands.py 示例。这是我的配置:
ICE_SERVER_OVERRIDE = [
{
"urls": [
"stun:stun.l.google.com:19302"
]
},
{
"urls": [
"turn:my_ip_address:3478?transport=udp"
],
"username": "my_account",
"credential": "password"
},
{
"urls": [
"turn:my_ip_address:3479?transport=udp"
],
"username": "my_account",
"credential": "password"
}
]
TURN_SERVER_OVERRIDE = [
{
"urls": "turn:my_ip_address:3478",
"username": "my_account",
"credential": "password"
},
{
"urls": "stun:stun.l.google.com:19302"
}
]
TURN_BASE_URL = 'http://my_url.com'
TURN_URL_TEMPLATE = '%s/turn?username=%s&key=%s'
CEOD_KEY = ''
ICE_SERVER_BASE_URL = 'http://my_url.com'
ICE_SERVER_URL_TEMPLATE = '%s/v1alpha/iceconfig?key=%s'
ICE_SERVER_API_KEY = os.environ.get('ICE_SERVER_API_KEY')
碰撞器实例信息常量中的字典键。
WSS_INSTANCE_HOST_KEY = 'my_ip_address:8443'
WSS_INSTANCE_NAME_KEY = 'wsserver-std'
WSS_INSTANCE_ZONE_KEY = 'us-central1-a'
WSS_INSTANCES = [{
WSS_INSTANCE_HOST_KEY: 'my_ip_address:8443',
WSS_INSTANCE_NAME_KEY: 'wsserver-std',
WSS_INSTANCE_ZONE_KEY: 'us-central1-a'
}, {
WSS_INSTANCE_HOST_KEY: 'apprtc-ws-2.webrtc.org:443',
WSS_INSTANCE_NAME_KEY: 'wsserver-std-2',
WSS_INSTANCE_ZONE_KEY: 'us-central1-f'
}]
WSS_HOST_PORT_PAIRS = [ins[WSS_INSTANCE_HOST_KEY]
When I run it, my apprtc return error:
WebSocket open error: WebSocket error.
So, I don't understand what keys mean:
WSS_INSTANCE_HOST_KEY: 'my_ip_address:8443',
WSS_INSTANCE_NAME_KEY: 'wsserver-std',
WSS_INSTANCE_ZONE_KEY: 'us-central1-a'
当我在原始代码中更改为默认值时,它可以工作,但只能通过 Wifi,没有移动网络工作,我还在端口 3478 中运行 turnserver,并使用 pem 文件在 8443 中运行 collinder。所以任何人都可以告诉我如何成功测试连接器和旋转服务器配置以进行移动连接?
我在两年前发现配置apprtc的错误:只需像这样配置 ICE 服务器:
ICE_SERVER_OVERRIDE = [
{
"urls": [
"stun:stun.l.google.com:19302"
]
},
{
"urls": [
"turn:my_ip_address:3478?transport=udp"
],
"username": "my_account",
"credential": "password"
},
{
"urls": [
"turn:my_ip_address:3479?transport=udp"
],
"username": "my_account",
"credential": "password"
}
]
ICE_SERVER_BASE_URL = 'http://my_url.com'
ICE_SERVER_URL_TEMPLATE = '%s/v1alpha/iceconfig?key=%s'
ICE_SERVER_API_KEY = os.environ.get('ICE_SERVER_API_KEY')
和/etc/turnserver.conf
cert=/root/cert.pem
pkey=/root/key.pem
listening-port=3478
tls-listening-port=5349
listening-ip=my_ip_address
relay-ip=my_ip_address
external-ip=my_ip_address
realm=my_web_address
server-name=my_web_address
#lt-cred-mech
userdb=/etc/turnuserdb.conf
oauth
user=my_account:my_password
no-stdout-log
错误的共鸣是:当我配置"lt-cred-mech"身份验证时,它失败了。
所以,我把它改成"oauth":它奏效了。
在本网站测试Turn Server (Collinder(:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
# The result very fast (like sturn url of Google):
0.005 1 host 3868393361 udp 192.168.1.157 35353 126 | 30 | 255
0.006 1 host 891932622 udp xxxx:xxxx:12c7:xxxx:247e:xxxx:3c18:xxxx 51606 126 | 40 | 255
0.009 1 srflx 842163049 udp aa.bb.cc.dd 3341 100 | 30 | 255
0.062 1 relay 3031532034 udp my_turn_ip_address 62030 2 | 30 | 255
0.105 Done
0.109