使用 socket.io 广播网络摄像头?
Posted
技术标签:
【中文标题】使用 socket.io 广播网络摄像头?【英文标题】:Broadcast web cam with 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 为其工作,它似乎是为此而构建的新事物。 也许这个问题可以帮助您如何将流发送到服务器。 ***.com/questions/24836741/… 没有这方面的信息似乎真的很愚蠢。这是当 WebRTC 和 Socket.io 在同一个句子中被说出时我想到的第一件事,然而经过 3 个小时的搜索,似乎没有人知道如何做到这一点,或者为什么它可能不可能。很奇怪。 【参考方案1】:我尝试了几天来让这样的东西工作,在进入兔子洞之后,我最终只是在 AWS 上启动了一个 Wowza 媒体服务器实例(遵循these instructions)并使用我的节点管理服务器实例而不是尝试制作视频。
效果很好很漂亮。扩展性好(甚至自动扩展),相对容易部署,并且在他们的论坛上有很大的支持。 A++,会再次编码。
另外,如果这是一个商业项目,最终你可能需要做一些转码/缩放/水印,Wowza 在 Amazon 的图形实例上利用 GPU 上的 NVENC,这只是将其他任何东西都吹掉了。水。
【讨论】:
酷,您能分享任何有关成本的数据吗?您是否考虑过使用 YouTube 直播 API?以上是关于使用 socket.io 广播网络摄像头?的主要内容,如果未能解决你的问题,请参考以下文章
Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)