【问题标题】:What is the best solution for Live-cam Service in web application?Web 应用程序中 Live-cam Service 的最佳解决方案是什么?
【发布时间】: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 serverRed5这样的东西吗?我认为这些更符合您正在寻找的方向。
  • 是的,我看过了。但问题是我不知道如何在我的 php 中使用 flash。刚开始挖掘它,但正如我所见,首先我需要创建 flash 文件来获取媒体并将 flash 文件集成到我的 php 代码中?我真的很困惑。你有什么想法吗,如果使用类似 Wowza 的东西来处理 Flash 文件就足够了吗?

标签: node.js sockets socket.io webrtc live-streaming


【解决方案1】:

为什么不使用node-camera 模块,它使您能够使用opencv 和websockets 在nodejs 中访问和流式传输网络摄像头。

这是您应该运行的命令才能运行它:

npm start -- [-open] [-wsport websocketPort] [-webport webserverport] [-res widthxheight]

传递给它运行的选项在哪里:

-open 在启动时打开流式传输 url

-wsport 用于流媒体的 Web 套接字端口

-webport 网络服务器端口

-res 预览图像的分辨率

-input 输入源。 (例如 ip camera url)

还有一些库,如 ffmpeg、vlc 和 OpenCV,它们可以使用网络摄像头访问,可以编写为节点的本机插件

【讨论】:

  • 感谢您的回答,老实说我不知道​​节点相机,我会挖掘它。但是广播公司可以处理 1000-2000 名观众吗?
  • 这不是一个好的解决方案。它不必要地将服务耦合到编码器。
猜你喜欢
  • 2011-11-21
  • 2010-09-14
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
相关资源
最近更新 更多