我想构建一个Web应用程序,让两个对等体使用带有HTML5的视频和音频流以及没有插件来看到和听到对方(除了IE,我假装使用getUserMediajs来使用闪回后备)。
我还想使用NodeJS传输数据,但我不知道从哪里开始。在一个例子中:
Peer A< --->节点JS< --->同行B
我对此 Peer 2 Server 2 Peer 方法感兴趣,而不是像{{3}那样 Peer 2 Peer 解决方案因为:
1)我认为所有浏览器都会更兼容。 如果情况不完全正确,请告诉我。
2)对于某些情况,PeerJS(我对不感兴趣)依赖于黑魔法STUN-TURN-ICE信令。我在某处看到,只有70%的连接适合这种传输,我不能承受30%的损失。再次让我知道这是不是完全正确。
我已经玩过PeerJS并了解getUserMedia()的概念以获取用户的网络摄像头,但不知道如何将其与socket.io相关联并将其传输到另一个客户。
答案 0 :(得分:2)
浏览器兼容性与添加服务器端组件无关。您可能是p2p或p2s2p,如果您发送的内容未被接收浏览器识别,则无法正常工作。
对于webrtc来说,ICE是强制,你不能没有,期间。默认情况下,您只能连接到同一网络中的计算机(候选主机)。如果您提供STUN服务器,您将能够将70%的案例连接在一起,更不用说在企业环境中。 http://webrtcstats.com/webrtc-revolution-in-progress/拥有一些供应商的最新统计数据。您可以看到,对于社交网站,截至2014年6月,92%的呼叫可以使用简单的STUN通过防火墙和NAT工作。剩下的被叫需要通过TURN服务器进行中继。你有很多免费的STUN服务器提供商,这是你应该使用的最低限度。
用于桌面IE和Safari的webRTC。
虽然Flash回调很有意思(阅读,简单),但他们暂停了两个问题:
另一个解决方案是在Desktop IE和Safari上安装webRTC插件(不是flash),它实现了“纯粹的”webRTC。在这种情况下,您可以直接与chrome,firefox,opera以及任何其他实现webRTC 1.0的浏览器进行互操作
我们建议免费(免费)和所有(不是供应商特定的)here
这样的插件答案 1 :(得分:0)
无论您做什么,都需要在浏览器上提供WebRTC
支持("没有插件")。所以," 它将更兼容所有浏览器"是一个有争议的问题,因为browser support