通过 NodeJS 发送 MediaStream

Posted

技术标签:

【中文标题】通过 NodeJS 发送 MediaStream【英文标题】:Send MediaStream through NodeJS 【发布时间】: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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于通过 NodeJS 发送 MediaStream的主要内容,如果未能解决你的问题,请参考以下文章

lambda函数电子邮件不通过nodeJS发送

发送后无法设置标头 - 通过 NodeJs 发布新用户

通过 Observable 从 Angular 向 nodejs 发送 POST 请求

使用 React/Nodejs 通过电子邮件发送生成的 PDF 文件

如何通过使用 NodeJS 发送验证码来验证用户电子邮件?

javascript NEC投影仪通过nodeJS发送控制命令