WebRTC远程视频未显示在非localhost上

时间:2014-06-23 18:00:39

标签: javascript coffeescript webrtc

我有一个非常简单的webRTC 1对1视频聊天应用程序。它在localhost上工作得很好,但我不能让它在不同的网络上工作。我尽可能多地在线阅读,但似乎没有任何工作。我怀疑我正在做一个无序的人,也许其他人可以发现它。

我的所有信号似乎都在工作(我有很多调试输出),所以我认为这不是问题。

我在github here上有所有代码,感兴趣的主要文件是videochat_manager

我以为我会总结一下我的过程:

  • 等到房间里有两个人

  • 来电者创建要约说明,并将其发送给回答者

  • 回答者接受或排队提议直到准备回答

  • 回答者已准备就绪(已建立对等连接)

  • 回答者设置远程描述

  • answerer创建答案说明并将其发送给来电者

  • 来电者设置远程说明

  • 一旦两个同伴都设置了他们的描述,添加所有冰候选人(在队列中)

  • 每当您收到对等远程流时,请添加

这就是我在非常高的水平上所做的事情。有什么明显的错误吗?

修改

您可以找到demo app here。您可以在地址栏中更改房间

这是来电方面的四个候选人。还有两个我没有发布

  • 对象{type:“candidate”,标签:0,id:“audio”,候选人: “a =候选人:2036686134 1 udp 2122260223 10.142.85.73 35544 typ host 第0代↵“}

  • 对象{type:“candidate”,标签:1,id:“video”,候选人: “a =候选人:2036686134 1 udp 2122260223 10.142.85.73 35544 typ host 第0代↵“}

  • 对象{type:“candidate”,标签:0,id:“audio”,候选人: “a =候选人:937861574 1 tcp 1518280447 10.142.85.73 0 typ host 第0代↵“}

  • 对象{type:“candidate”,标签:1,id:“video”,候选人: “a =候选人:937861574 1 tcp 1518280447 10.142.85.73 0 typ host 第0代↵“}

...

1 个答案:

答案 0 :(得分:2)

您的Turn和stun服务器似乎无法以获取适当的ICE候选公共IP地址的方式运行。

我使用您当前的ICE服务器测试了您的演示站点,并且未获得任何候选人的公共IP地址。尝试一些不同的服务器,看看是否能改善你的情况。