如果我在两个浏览器标签中打开http://chatphrase.com/test/(在同一台计算机或不同的计算机上 - 我正在测试使用谷歌浏览器两者)并在两者中输入相同的单词,这两个标签似乎执行ICE / STUN / SDP握手成功并相互连接,但远程视频元素尽管附加了远程流,但仍然是空白的(悬停在元素上会导致它缩小到2x2)。
https://apprtc.appspot.com/运行正常。我的网站出错了什么?
这似乎是一个完全基于客户端的问题,但对于它的价值,我的服务器端代码位于https://github.com/stuartpb/chatphrase/blob/master/app.js。
答案 0 :(得分:0)
当ICE候选人进来时,他们没有被添加到对等连接中:
https://github.com/stuartpb/chatphrase/blob/99ce85330594026d70d5f9441cc06be6c4904b7e/static/chatphrase.js#L44 https://github.com/stuartpb/chatphrase/blob/99ce85330594026d70d5f9441cc06be6c4904b7e/static/chatphrase.js#L76 https://github.com/stuartpb/chatphrase/blob/99ce85330594026d70d5f9441cc06be6c4904b7e/static/chatphrase.js#L168
addIce(resbody.ice);
应为addIce(peercon,resbody.ice);
。
(我在凌晨4点左右写了这个函数,就在你开始忘记你刚写的函数的签名的时候。)