【问题标题】:WebRTC or WebSockets for broadcast streaming video? [closed]用于广播流视频的 WebRTC 或 WebSockets? [关闭]
【发布时间】:2018-03-15 08:01:00
【问题描述】:

我的架构是 [arch0.dot]:

一台笔记本电脑正在 [广播] 向所有 [JavaScript] 客户端流式传输两个视频和两个音频流。此外,我还有一个用于聊天的 WebSockets 连接。

服务器 [用 Node.JS 编写] 必须:

  • 记录聊天(目前通过仅附加文件来实现)
  • 录制视频和音频流(客户端目前通过MediaRecorder 执行此操作;但希望移至服务器)

相关:WebRTC vs Websockets: If WebRTC can do Video, Audio, and Data, why do I need Websockets?

在 2017 年末,哪种技术最适合这种通用架构?

【问题讨论】:

    标签: javascript node.js websocket architecture webrtc


    【解决方案1】:

    WebRTC 和 WebSockets 都是不错的技术选择。当您构建 WebRTC 服务时,有两个不同的部分;对等连接和信令服务器。信令服务器处理对等点之间的所有元数据传输(因此它们可以在对等点连接进行之前进行通信)。通常,您将拥有一个用于接收事件的 WebSocket 连接和一个用于发送事件的 REST API。

    听起来您要的是媒体服务器。媒体服务器建立 WebRTC 连接到对等媒体服务器到对等连接,而不是对等连接。因为所有的媒体都经过媒体服务器,所以你可以记录所有的流量(音频/视频/数据),并且不需要在客户端使用 MediaRecorder。

    您不需要在服务器端对音频/视频流的单向通信提供任何特殊支持,这可以通过 WebRTC 在客户端完成。

    关于媒体服务器,我一直在关注https://github.com/versatica/mediasoup/,因为它们似乎被大量使用并维护了很长时间。

    【讨论】:

    • 你提到了录制,然后推荐了 mediasoup。 AFAIK,Mediasoup 不支持录制。如果录音是一个问题,Janus 是最合适的恕我直言,其次是 kurento 和 jitsi
    【解决方案2】:

    Websockets 是一个已有 10 年历史的概念,WebRTC 是相当新的(几年),但适用于所有现代浏览器:Chrome、Firefox、Edge。总的来说,我会说 WebRTC 旨在替代 Websockets。现在它已经在浏览器中出现了一年或更长时间,它是一个相当成熟和稳定的解决方案。

    【讨论】:

    • 那么你的明确答案是什么?您的答案不是很清楚,还是您试图巧妙地回答而不给出明确的答案?
    猜你喜欢
    • 2013-01-08
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 2013-11-17
    相关资源
    最近更新 更多