【问题标题】:Broadcast web cam with socket.io?使用 socket.io 广播网络摄像头?
【发布时间】:2014-08-17 09:59:21
【问题描述】:

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

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);
});

现在我想将直播流发送到 socket.io 服务器,然后使用 socket.io 服务器进行广播。
有什么简单的代码可以做到吗?

【问题讨论】:

  • 我想知道socket.io 1.0的新版本和流处理功能,我们可以传递一个getusermedia流,如果有人尝试过反馈会很有趣
  • 也许这不是您想要的,但您可能会发现 socket.io-stream 模块很有用。
  • 我正在尝试同样的事情;但我通过套接字发送网络摄像头的屏幕截图。让我知道您是否可以让 socket.io-stream 为其工作,它似乎是为此而构建的新事物。
  • 也许这个问题可以帮助您如何将流发送到服务器。 stackoverflow.com/questions/24836741/…
  • 没有这方面的信息似乎真的很愚蠢。这是当 WebRTC 和 Socket.io 在同一个句子中被说出时我想到的第一件事,然而经过 3 个小时的搜索,似乎没有人知道如何做到这一点,或者为什么它可能不可能。很奇怪。

标签: node.js socket.io webrtc


【解决方案1】:

我尝试了几天来让这样的东西工作,在进入兔子洞之后,我最终只是在 AWS 上启动了一个 Wowza 媒体服务器实例(遵循these instructions)并使用我的节点管理服务器实例而不是尝试制作视频。

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

另外,如果这是一个商业项目,最终你可能需要做一些转码/缩放/水印,Wowza 在 Amazon 的图形实例上利用 GPU 上的 NVENC,这只是将其他任何东西都吹掉了。水。

【讨论】:

  • 酷,您能分享任何有关成本的数据吗?您是否考虑过使用 YouTube 直播 API?
猜你喜欢
  • 2016-02-15
  • 2014-11-24
  • 2014-08-23
  • 2020-01-09
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 2023-01-17
相关资源
最近更新 更多