WebRTC";“ICE失败”,错误

WebRTC";“ICE失败”,错误,webrtc,peerjs,ice-protocol,Webrtc,Peerjs,Ice Protocol,因此,我正在尝试使用peer.js构建一个webrtc视频聊天web应用程序。到目前为止一切正常。 当我在我的私人服务器上运行我的应用程序时,问题就开始了 每次我尝试接听或拨打电话时,视频会开始播放几秒钟,但屏幕是黑色的,然后我收到ICE Failed错误,它会断开连接 如果两个用户共享相同的ip地址,则不会发生这种情况。 如果用户共享同一ip,视频聊天功能正常,根本没有问题 这里有什么问题 更新 我添加了晕眩并打开对等服务器,但再次出现相同的错误 peer = new Peer({ key:

因此,我正在尝试使用
peer.js
构建一个
webrtc视频聊天
web应用程序。到目前为止一切正常。 当我在我的私人服务器上运行我的应用程序时,问题就开始了

每次我尝试接听或拨打电话时,视频会开始播放几秒钟,但屏幕是黑色的,然后我收到
ICE Failed
错误,它会断开连接

如果两个用户共享相同的ip地址,则不会发生这种情况。 如果用户共享同一ip,视频聊天功能正常,根本没有问题

这里有什么问题

更新

我添加了晕眩并打开对等服务器,但再次出现相同的错误

peer = new Peer({ key: peerApiKey, debug: 3, config: {'iceServers': [
            { url: 'stun:stun.l.google.com:19302' },
            { url: 'stun:stun1.l.google.com:19302' },
            { url: 'turn:numb.viagenie.ca:3478', credential: 'muazkh', username:'webrtc@live.com' },
            { url: 'turn:numb.viagenie.ca', credential: 'muazkh', username:'webrtc@live.com' },
            { url: 'turn:192.158.29.39:3478?transport=udp', credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=', username:'28224511:1379330808' },
            { url: 'turn:192.158.29.39:3478?transport=tcp', credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=', username:'28224511:1379330808' }
        ]}});
  • 您需要设置一个有效的STUN服务器(可能peer.js默认值不起作用)。这将在大约80%的情况下解决问题
  • 在某些情况下,还需要轮换服务来完成通话
  • 在某些情况下,即使TURN也不够(例如,如果两端都阻止UDP),在这些情况下,您需要一台服务器来路由媒体(通过TCP/TURN)

谢谢你的回答。我添加了眩晕和转身服务器,但我再次遇到同样的错误。你确定那些转身服务器真的工作正常吗?你不应该指望免费/公共转向服务。如果有很多用户在使用,转向必须路由媒体,这可能会非常昂贵,而且据我所知,没有人免费提供此服务。事实上,它在一段时间后确实起了作用(我的服务器有问题).我现在的问题是,它只是用wifi打电话或接听电话,而不是3g/4g,我也在努力解决这个问题。谢谢你的帮助!