【问题标题】:Send MediaStream through NodeJS通过 NodeJS 发送 MediaStream
【发布时间】:2014-10-24 14:47:00
【问题描述】:

我有从 getUserMedia 返回的 MediaStream 对象,可以在我自己的屏幕上显示它。

问题是,我不知道如何使用 socket.io 通过 NodeJS 从 A 点发送 / 管道 / 流 / * MediaStream 到 B 点。

我现在的代码是:

// Cámara
if (navigator.getUserMedia) {
navigator.getUserMedia({audio: true, video: true}, function(stream) {

    video.src = URL.createObjectURL(stream) || window.URL.createObjectURL(stream);

    webcamstream = stream;                  

}, onVideoFail);
} else {
   alert ('failed');
}

});

function onVideoFail(e) {
    console.log('webcam fail!', e);
};

我需要一种方法来使这个流不断地发送给其他用户使用 NodeJS

【问题讨论】:

    标签: node.js socket.io webrtc


    【解决方案1】:
    • Audio and video conference with NodeJS 答案中的评论仍然有效

    • 如果您要通过 socket.io 而不是对等连接发送流,无论如何这将是原始视频内容(字节)。你会输:

      • 流部分 (RTP/RTCP),以及相应的丢包消除
      • 带宽适配
      • 加密 (DTLS)
      • 媒体引擎(抖动校正,...)

      通过 webRTC。

    • 为什么不在 node.js 中实现 SFU?使用 node.js/socket.io 进行信令(即初始握手),但也使用 node.js 作为对等连接端点,将媒体流中继/路由到(另一个)对等点?您将拥有一个您似乎想要的中间服务器,以及 webRTC 的所有优势。

    • 另一种解决方案是使用 MCU,google webrtc+mcu,你会发现很多。

    【讨论】:

      【解决方案2】:

      这可能有点晚了,但现在有一个名为 wrtc/node-webrtc 的库。用那个! https://github.com/node-webrtc/node-webrtc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-01
        • 2019-06-07
        • 2018-02-23
        • 2017-01-19
        • 1970-01-01
        相关资源
        最近更新 更多