【问题标题】:One to Many Microphone Streaming Implementation一对多麦克风流实现
【发布时间】:2017-06-27 14:38:07
【问题描述】:

我想制作一对多麦克风流式传输实现。用户从他的麦克风录制的地方,其他人可以从那里听到他的声音。我也必须录制麦克风会话。

什么是最好的?客户端之间的 WebRTC 通信还是 一对服务器对多 实现?请记住,可能有数千个客户端,我不知道 WebRTC 是否可以支持它。

对于一对多服务器的实现,我正在考虑使用二进制 websockets 的 node.js(或 JAVA)服务器,其中服务器服务器接收麦克风用户数据,然后将其流式传输实时到所有正在收听的客户。您将如何执行此操作?你会使用什么工具?

谢谢!

【问题讨论】:

  • 我实际上已经构建了您所提议的内容。 stackoverflow.com/a/40073233/362536 叫AudioPump Web Encoder,我使用WebSocket 来获取捕获的音频到服务器。可以使用 WebRTC 将媒体流获取到服务器,但要做到这一点要困难得多。如果您有兴趣许可此解决方案,请告诉我。它是基于 Node.js 的。如果您给我发电子邮件,我可以向您发送更多信息... brad@audiopump.co.
  • 看看这个项目:webrtc-experiment.com它有一些关于广播音频和视频的例子。

标签: javascript java node.js webrtc live-streaming


【解决方案1】:

基于纯 WebRTC 的网状网络,其中每个客户端与发送者建立一个 PeerConnection,可能会扩展到可能仅用于音频的 2 位数客户端。如果您真的想向数千个客户端流式传输,WebRTC 可能不是完整解决方案的最佳选择。您可以查看使用 WebRTC 的解决方案,例如来自 jitsi.org 的解决方案,但可以选择将您的通话流式传输到 YouTube 以扩展到更广泛的受众。

【讨论】:

    【解决方案2】:

    WebRTC 群组音频通话有 1 个活跃参与者,其余成员处于仅接收模式,但作为网状网络流式传输。 Socket.io 作为对等点之间的信号 - 浏览器/手机

    请记住,可能有数千个客户端,我不知道 WebRTC 是否 可以支持一下。

    如果您想支持 1000 个用户,那么您需要一些服务器端混音器,例如 Freeswitch、asterisk、Kamilio VOIP 服务器,它们将从 webrtc 客户端获取连接

    【讨论】:

    • 如何建立一个从发射器到服务器的 WebRTC 连接,然后与所有接收信号的客户端建立一个 websocket?
    • 是的,正如我所提到的。请看 Muza 的演示 webrtc-experiment.com/audio-broadcast
    猜你喜欢
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多