首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WebCam的流socket.io

问使用WebCam的流socket.io
EN

Stack Overflow用户
提问于 2016-10-17 22:39:48
回答 2查看 10.2K关注 0票数 5

我一直在尝试实现一个能够处理以下情况的web应用程序:

  • 从客户端向其他客户端(实际上是一组特定的客户端,没有广播)和服务器同时播放视频/音频。数据源将是客户端的网络摄像头。
  • 这些流数据必须实时显示在其他客户端的浏览器上,和保存在服务器端,以便进行“归档”。
  • 它必须在node.js + socket.io环境中实现。

把它放在更具体的背景下..。场景是,有一个人为他选择的用户做了一个房间。在选定的用户加入房间后,创建者开始从他/她的内置设备(网络摄像头)中播放视频/音频。所有的客人都能实时接收到数据,并且数据被发送到服务器,并存储在服务器上,以便在流和房间关闭后恢复数据。

我在考虑把Socket.IO和WebRTC混在一起。从理论上讲,这两者的结合似乎正好适合这份工作。Socket.IO通过将一些套接字分配到房间和WebRTC所要求的信令进程来收集特定的用户集。同时,WebRTC对于聚集在同一房间的用户之间的P2P连接来说是非常棒的,而且访问网络摄像头和我可能想使用的其他内置设备也很容易。

所以是的,理论上一切看起来都很不错,但我确实需要看到一些代码在运行,这样我才能真正地尝试自己实现它。此外,我看到一些问题:

  • 如何保存由P2P连接发送的流?显然,服务器没有对此的访问权限。我在想,我可能会把服务器当作另一个“客人”,所以它只是房间创建者与P2P连接的另一个端点。不过,不知怎么的,感觉有些急躁。
  • 把服务器当作创建者和客户之间的中间人不是更好吗?在某种程度上,与P2P相比,可能会出现一些可能微不足道的延迟,但据推测,对于所有客户端来说都是一样的。(我试过了,但无法完成从摄像头到服务器的流,但这是另一个问题的主题,因为我在处理MediaStream时遇到了问题)

我在寻找一些不错的解决方案,但没有成功。我已经看到了为socket.io:http://socket.io/blog/socket-io-p2p/制作的一个很好的socket.io解决方案。问题是-我不认为它能很好地处理数据流。这些例子只提到简单的聊天应用程序,我需要一些更重的东西。

我真的很感激一些具体的例子,docs,任何可能让我更接近它的实现的例子,因为我真的不知道如何处理它。

(预先谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2016-10-18 10:41:18

您的任务可以通过使用一个开源WebRTC服务器来解决。例如,kurento。

您可以实现流的模式:

  • 一对一
  • 一对多
  • 多对多

WebRtc-服务器模式

客户端将通过WebRTC服务器相互连接。因此,在服务器端,您可以记录流,或发送它进行转码。

webSocket用于与服务器进行通信。

你可以根据你的任务找到一些示例

票数 5
EN

Stack Overflow用户

发布于 2016-10-18 00:54:59

视频流到多个用户是一个非常困难的问题,不幸的是,需要广泛的基础设施才能实现。您将无法通过websocket传输视频数据。对于您所描述的内容,WebRTC也不是一个可行的解决方案,因为正如您提到的,WebRTC协议是P2P,因为在流用户中,需要与所有的“查看者”直接连接。这显然不会超出少数“观众”的范围。例如,WebRTC更适用于直接视频通话,比如Skype。

这里是一篇描述某种流行的流媒体服务所使用的体系结构的文章。正如你所看到的,在任何规模上实现实时视频都需要相当多的资源。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40096763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档