WebRTC视频流通过服务器

时间:2017-08-10 00:25:29

标签: javascript node.js html5 video-streaming webrtc

我想从客户端运行流,然后从服务器加入客户端 。如何通过服务器将视频流式传输到另一个观看者?这可能吗?

1 个答案:

答案 0 :(得分:0)

我想尝试指出你正确的方向。

首先,让我们更多地了解WebRTC的工作原理。

在WebRTC中,您有一个名为bridge的websocket,该桥的作用是帮助代理两个或多个对等体之间的连接。

通常来说,网桥使用STUN / TURN服务器和SDP协议来帮助建立对等体之间的连接。

STUN服务器用于通过NAT打孔建立p2p udp连接。

如果STUN无法打出一个整体(即有防火墙),则使用TURN服务器作为集线器&说话(即通过TURN服务器中继数据)。

完整的WebRTC堆栈包括带有vp8 / vp9 / h264编解码器的视频/音频流和数据使用RTP打包。

幸运的是,有一个node-js库几乎可以嵌入整个堆栈。

https://github.com/js-platform/node-webrtc

该库本质上为您提供WebRTC数据通道。 不支持“Media Streams”,因此我假设您需要自己构建编码/解码和RTP封装。

但是,这里讨论如何使用数据通道传输音频/视频:

https://github.com/js-platform/node-webrtc/issues/156

现在,您的具体问题是,如何从“服务器”流式传输?

WebRTC通常是p2p,但您可以设置“服务器对等”并将其指定为仅具有源通道(即没有输入通道)。

此对等体随后成为“服务器”,所有其他对等体在连接时都可以查看其内容。

希望有所帮助。

干杯!