通过NodeJS发送MediaStream

时间:2014-08-30 23:56:13

标签: node.js socket.io webrtc

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

问题是,我不知道如何使用socket.io向B点发送/管道/流式传输MediaStream从Point A到NodeJS。

我现在的代码是:

// 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 将此流不断发送给其他用户的方法。

2 个答案:

答案 0 :(得分:2)

  • Audio and video conference with NodeJS答案中的评论仍然有效

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

    • 流媒体部分(RTP / RTCP)和相应的分组丢失取消
    • 带宽适应
    • 加密(DTLS)
    • 媒体引擎(抖动校正,......)

    over webRTC。

  • 为什么不在node.js中实现SFU?使用node.js / socket.io进行信令(即初始握手),还使用node.js作为对等连接端点,将媒体流中继/路由到(一个)其他对等端。你可能会有一个像你想要的中间服务器,以及webRTC的所有优点。

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

答案 1 :(得分:0)

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