【发布时间】:2016-05-14 12:20:18
【问题描述】:
我正在尝试设置一个基于网络的实时网络摄像头流媒体服务(使用 laravel 框架 php),用户可以通过网络摄像头进行现场直播(仅基于网络)。 例如:
用户 X 在 http://localhost/userx 开始网络摄像头广播,而用户 Y、Z 等通过 http://localhost/userx 加入该房间将能够观看实时网络摄像头/流。
我正在使用 node.js 和 socket.io 库进行实时聊天,它工作正常。 但我不知道网络摄像头流式传输。
我应该使用 webrtc 吗?如果我使用 Webrtc,有多少观众可以处理广播公司? 处理大约 1000-2000 名观众的最佳解决方案是什么? 任何建议都会对我有很大帮助。
【问题讨论】:
-
那是相当多的观众。您最好使用适当的 CDN 来为您的流提供服务。 WebRTC 在少数人之外并不是很好,至少现在是这样。现在,您可以实现自己的 WebRTC 服务器,该服务器不以通常的方式运行,您的服务器接收流和发送流,但没有必要这样做。
-
@Brad 感谢布拉德的回复。我仍在寻找一些可靠的信息来实现这一目标。但是你有什么信息需要做什么吗?我一直在寻找使用 Pusher 库?但我仍然不确定。
-
我不知道你应该使用什么,但绝对不是 WebRTC。 WebRTC 用于点对点流,它并不意味着将相机流广播给许多其他客户端。您必须为每个观众创建一个对等连接,协商 ICE,设置约束等......更不用说广播公司需要大量上传才能将相机数据流式传输给多个观众,因为流是发送的分别给所有客户。您确实需要一个解决方案,将数据从广播公司一次流式传输到您控制的服务器。然后查看者可以从服务器获取数据。
-
你看过Adobe media server和Red5这样的东西吗?我认为这些更符合您正在寻找的方向。
-
是的,我看过了。但问题是我不知道如何在我的 php 中使用 flash。刚开始挖掘它,但正如我所见,首先我需要创建 flash 文件来获取媒体并将 flash 文件集成到我的 php 代码中?我真的很困惑。你有什么想法吗,如果使用类似 Wowza 的东西来处理 Flash 文件就足够了吗?
标签: node.js sockets socket.io webrtc live-streaming