我一直在尝试实现一个能够处理以下情况的web应用程序:
把它放在更具体的背景下..。场景是,有一个人为他选择的用户做了一个房间。在选定的用户加入房间后,创建者开始从他/她的内置设备(网络摄像头)中播放视频/音频。所有的客人都能实时接收到数据,并且数据被发送到服务器,并存储在服务器上,以便在流和房间关闭后恢复数据。
我在考虑把Socket.IO和WebRTC混在一起。从理论上讲,这两者的结合似乎正好适合这份工作。Socket.IO通过将一些套接字分配到房间和WebRTC所要求的信令进程来收集特定的用户集。同时,WebRTC对于聚集在同一房间的用户之间的P2P连接来说是非常棒的,而且访问网络摄像头和我可能想使用的其他内置设备也很容易。
所以是的,理论上一切看起来都很不错,但我确实需要看到一些代码在运行,这样我才能真正地尝试自己实现它。此外,我看到一些问题:
我在寻找一些不错的解决方案,但没有成功。我已经看到了为socket.io:http://socket.io/blog/socket-io-p2p/制作的一个很好的socket.io解决方案。问题是-我不认为它能很好地处理数据流。这些例子只提到简单的聊天应用程序,我需要一些更重的东西。
我真的很感激一些具体的例子,docs,任何可能让我更接近它的实现的例子,因为我真的不知道如何处理它。
(预先谢谢:)
发布于 2016-10-18 10:41:18
您的任务可以通过使用一个开源WebRTC服务器来解决。例如,kurento。
您可以实现流的模式:
客户端将通过WebRTC服务器相互连接。因此,在服务器端,您可以记录流,或发送它进行转码。
webSocket用于与服务器进行通信。
你可以根据你的任务找到一些示例
发布于 2016-10-18 00:54:59
视频流到多个用户是一个非常困难的问题,不幸的是,需要广泛的基础设施才能实现。您将无法通过websocket传输视频数据。对于您所描述的内容,WebRTC也不是一个可行的解决方案,因为正如您提到的,WebRTC协议是P2P,因为在流用户中,需要与所有的“查看者”直接连接。这显然不会超出少数“观众”的范围。例如,WebRTC更适用于直接视频通话,比如Skype。
这里是一篇描述某种流行的流媒体服务所使用的体系结构的文章。正如你所看到的,在任何规模上实现实时视频都需要相当多的资源。
https://stackoverflow.com/questions/40096763
复制相似问题