用socket.io广播网络摄像头?

Sor*_*avi 9 node.js socket.io webrtc

我可以使用以下代码行从浏览器获取流:

var socket = io.connect('127.0.0.1:9000');
navigator.getUserMedia  = navigator.getUserMedia ||
                          navigator.webkitGetUserMedia ||
                          navigator.mozGetUserMedia ||
                          navigator.msGetUserMedia;


var cam;
navigator.getUserMedia({video: true, audio: true}, function(stream) {
    //var call = peer.call('another-peers-id', stream);
        //call.on('stream', function(remoteStream) {
        // Show stream in some video/canvas element.
    //});
    cam = stream;
    console.log(stream);
}, function(err) {
    console.log('Failed to get local stream' ,err);
});
Run Code Online (Sandbox Code Playgroud)

现在我想将实时流发送到socket.io服务器,然后使用socket.io服务器进行广播.
有没有简单的代码可以做到这一点?

Del*_*ney 1

我尝试了几天让这样的东西工作,在陷入困境之后,我最终只是在 AWS 上启动了一个 Wowza 媒体服务器实例(遵循这些说明)并使用我的节点实例管理服务器,而不是尝试来做视频。

效果非常好。扩展性良好(甚至可以自动扩展),相对容易部署,并且在论坛上有很大的支持。A++,会再次编码。

另外,如果这是一个商业项目,最终您可能需要进行一些转码/缩放/水印处理,而 Wowza 在 Amazon 图形实例上的 GPU 上利用了 NVENC,这简直比其他任何东西都更加出色。