如何从IP摄像头捕获和广播MJPEG流

3
我购买了一台Foscam FI8910W IP网络摄像机,它以MJPEG格式输出实时视频流,并且我正在尝试将实时流嵌入网页中。
我已经通过简单地使用相机源URL作为HTML img标记的来源来实现了这个目标。但是问题在于每个访问此页面的浏览器会连接到相机,因此相机拥有的带宽很快就会用完,所以同时只能有2或3个用户查看该页面。
我想做的是设置某种流服务器来直接访问相机的源,并以某种方式复制/处理它,以便当用户浏览我的站点时,他们从服务器而不是相机中获取数据。
理想情况下,这应该在不需要任何浏览器插件的情况下完成,并且可以跨越任何浏览器工作。我在几种编程语言方面都有相当的经验,因此编写一些代码来处理这个问题并不是完全不可能,只是我不知道如何开始。

我有一个类似的问题。我正在尝试将树莓派的mjpeg流嵌入到我的网站中。所以我想做的是将树莓派数据流传输到网络上的服务器,然后让服务器向Web客户端进行流传输。 - wilblack
2个回答

0
尝试 sourceforge webcamflv,这已经不再维护了!..但仍然按预期工作!(如果您可以选择FLV而不是MJPEG流)

0

我建议两个选项(对我来说都有效):

1)C/C++代码+libjpeg库(使用8以上版本,因为旧版本只能通过文件系统交换结果)。这篇文章非常好,我用它来理解mjpeg并创建了一个工作的C/C++应用程序。

  • 优点:您可以完全控制所需的功能
  • 缺点:需要大量编码/调试/测试

2)gstreamer。它带有许多插件,您可以通过精心选择的命令行来利用它们。在这里查看示例。

  • 优点:无需编码,只需找到合适的插件并进行配置
  • 缺点:可能无法满足所有要求;潜在的商业许可问题

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接