WebRTC,伪ICE服务器,用于一对一(客户端 - 服务器)连接

时间:2016-04-18 23:39:38

标签: sockets websocket stream streaming webrtc

我需要使用webRTC"捕获媒体"部分,并将视频/音频流发送到服务器。首先我想到使用websockets来发送该流,但它看起来很复杂,我只找到了一些将视频绘制到画布中并通过websockets发送生成的图像的示例;重。所以我认为最好的解决方案是使用RTCPeerConnection api创建一对一的对等连接,然后使用此API的其余部分来传输流。这可能而不是愚蠢吗?如果不是我想知道是否可以创建一个简单的ICE服务器来连接只有两个具有已知IP的对等体(或者是否有办法避免使用这些ICE服务器?)

感谢您的回答! :)

2 个答案:

答案 0 :(得分:0)

没有ICE服务器这样的东西。 ICE是用于建立网络连接的协议(https://tools.ietf.org/html/rfc5245)。

除此之外,如果我正确理解您的问题,您希望使用WebRTC在两个对等体之间建立媒体流。如果是这样,答案是肯定的,这正是WebRTC的用途。 WebRTC对等体将自己处理ICE部分,但如果它们位于不同的专用网络上,则可能需要涉及STUN和TURN服务器。

答案 1 :(得分:0)

您正在将P2P与客户端/服务器混淆 - 这是两回事。 WebRTC使用两者 - 发现是客户端/服务器(Stun),流媒体是P2P(ICE)。

发现对于启动P2P至关重要。对等方必须知道对方的IP地址。这就是Stun的用武之地 - 它是同行的中央注册表(服务器),可以通过Stun客户端访问。

一旦两个对等体通过Stun发现彼此的地址,他们就会从Stun服务器断开连接,并开始通过ICE P2P协议直接相互传输。