通过NodeJS发送MediaStream
我有从getUserMedia返回的MediaStream对象,可以显示在我自己的屏幕。
问题是,我不知道如何从Point A通过NodeJS使用socket.io发送/pipe道/stream/ * MediaStream到Point 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将这个stream不断发送给其他用户。
-
在与NodeJS的audio和video会议的答案中所做的评论仍然有效
-
如果你是通过socket.io发送stream而不是对等连接,那么在任何情况下,这都是原始的video内容(字节)。 你会输:
- stream媒体部分(RTP / RTCP)以及相应的丢包消除
- 带宽适配
- encryption(DTLS)
- 媒体引擎(抖动校正,…)
通过webRTC。
-
为什么不在node.js中实现一个SFU? 使用node.js / socket.io作为信令(即初始握手),还可以使用node.js作为将媒体stream中继/路由到其他(多个)对等体的对等连接端点。 你会有一个像你似乎想要的中间服务器,以及webRTC的所有优点。
- 另一个解决scheme是使用MCU,谷歌webrtc +单片机,你会发现很多。