通过 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的主要内容,如果未能解决你的问题,请参考以下文章
通过 Observable 从 Angular 向 nodejs 发送 POST 请求