首页 > 解决方案 > WebRTC通过node.js服务器一对多流?

问题描述

我正在做一个学校项目,需要通过 WebRTC 发送音频信号。服务器本身是一个 RaspberryPi 3(ARM 芯片),系统应该在没有互联网的情况下工作,只有Intranet。我们有设备连接到服务器,需要将音频信号从某些设备投射到所有其他设备。

Peer to server to peer schema ( ^.^)♪
                                         / -->  WebRTC Client 1
 WebRTC Capture ---\       The       / -->  WebRTC Client 2
 WebRTC Capture ----    Raspberry    --->  WebRTC Client ...
 WebRTC Capture ---/   Pi 3 Server   \ -->  WebRTC Client 20
                                         \ -->  WebRTC Client 21

我发现了node-webrtc,但是文档很少,无法正常工作……而且音频通道的性能似乎很糟糕……你做过这样的事情吗?另一种方法似乎是使用 DataChannel 而不是 MediaStream 似乎没有得到很好的支持。但是会出现断断续续的音频问题,可能是因为它会分块发送,不是吗?

你将如何实施它?如果可能的话,我想坚持使用 node.js。

标签: node.jswebrtcone-to-manyaudio-streaming

解决方案


您正在寻找的是支持 WebRTC 的媒体服务器。

google了一下,发现有一个medooze为node.js写的,支持RPi的,不过之前没测试过。

https://github.com/medooze/media-server-node

看起来有一些示例和文档。

其他广泛使用的媒体服务器:


推荐阅读