2014-08-30 39 views
4

我有MediaStream從getUserMedia返回的對象,並可以在我自己的屏幕中顯示它。通過NodeJS發送MediaStream

的事情是,我不知道如何發送* /管/流/ *是MediaStream從通過使用socket.io到B點的NodeJS A點

我的代碼現在的問題是:

// 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
  • 的答案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,你會發現很多。