Toa*_*ums 5 javascript coffeescript webrtc
我有一个非常简单的 webRTC 1 对 1 视频聊天应用程序。它在本地主机上工作得很好,但我无法让它在不同的网络上工作。我已经在网上尽可能多地阅读了,但似乎没有任何效果。我怀疑我做错了什么,也许其他人可以发现它。
\n\n我的所有信号似乎都正常工作(我有很多调试输出),所以我认为这不是问题。
\n\n我在 github 上有所有代码,感兴趣的主要文件是videochat_manager
\n\n我想我应该总结一下我的过程:
\n\n等到房间里有两个人
呼叫者创建报价描述,并将其发送给应答者
应答者要么接受,要么排队报价直到准备好应答
应答者已准备好(已设置对等连接)
应答者设置远程描述
应答者创建应答描述并将其发送给呼叫者
调用者设置远程描述
一旦两个对等点都设置了描述,添加所有ice候选者(在队列中)
每当您收到对等方的远程流时,将其添加
这就是我在很高水平上所做的事情。有什么明显的错误吗?
\n\n您可以在此处找到演示应用程序。您可以在地址栏中更改房间
\n\n呼叫方有四位候选人。还有两篇我没发过
\n\n对象 {类型:“候选”,标签:0,id:“音频”,候选:\n“a=候选:2036686134 1 udp 2122260223 10.142.85.73 35544 典型主机\n代 0 \xe2\x86\xb5”}
对象 {类型:“候选”,标签:1,id:“视频”,候选:\n“a=候选:2036686134 1 udp 2122260223 10.142.85.73 35544 典型主机\n代 0 \xe2\x86\xb5”}
对象 {类型:“候选”,标签:0,id:“音频”,候选:\n“a=候选:937861574 1 tcp 1518280447 10.142.85.73 0 典型主机\n代 0 \xe2\x86\xb5”}
对象 {类型:“候选”,标签:1,id:“视频”,候选:\n“a=候选:937861574 1 tcp 1518280447 10.142.85.73 0 典型主机\n代 0 \xe2\x86\xb5”}
...
\n您的 Turn 和 stun 服务器似乎没有按照需要的方式工作来获取适当的 ICE 候选公共 IP 地址。
我使用您当前的 ICE 服务器测试了您的演示站点,但没有为我的任何候选人获得公共 IP 地址。尝试一些不同的服务器,看看这是否会改善您的情况。