我们需要捕捉实时视频并显示 容易地 在 Linux 上。我们需要一个具有简单 API 的廉价卡或 USB 设备。有人想分享一些经验吗?

有帮助吗?

解决方案

使用 视频4linux 图书馆。我将它与 C++ 程序一起使用,并且能够在大约一个小时内捕获网络摄像头帧。(非常容易使用和设置)

其他提示

如果您需要编程,最好使用 GStreamer, ,Linux下的多媒体框架。

jackbravo 提到的 Cheese 是基于 GStreamer 的,原样 波动, ,我工作的流媒体服务器。

如前所述,使用 dvgrab 从摄像机的 Firewire 界面进行捕获,然后使用 ffmpeg(命令行)或 kino(简单的 GUI 视频编辑器)等工具根据需要处理视频。基于 PCI 的火线卡相对便宜且容易找到。

这里有些例子:

  • 从火线连续捕获,每几分钟自动分割

    dvgrab --size 500 --autosplit <filename>
    
  • 观看摄像机直播

    dvgrab - | mplayer -
    

请注意,一些最近的发行版(例如Fedora8)正在使用新的但不成熟的火线驱动程序。不过,Ubuntu 运行得很好。

有一些“密封”的相机解决方案,带有微型网络服务器和背面的以太网端口。只需将其插入网络,设置其 IP,然后打开浏览器...在linux或者任何地方

如果你想 捕获 在 Linux 中,我曾经有一个廉价的网络摄像头,可以在 Perl 脚本中捕获单个帧,该脚本可以实时修改 - 尽管那是大约 10 年前的事了。无论如何,这是可能的:-/

有的是 奶酪 侏儒应用程序。使用起来非常简单。没有太多功能,只是视频捕捉。

openCV 允许您从相机捕获各个帧并将其保存到磁盘。如果您需要操作这些来创建视频,我建议使用 netpbm,这是一组非常强大的命令行工具,您可以使用一些 shell 脚本来制作视频或执行您需要的任何操作。

另一种选择是使用 Firewire (IEEE1394) 摄像机,例如最常见的 DV 摄像机。它们往往工作得非常好,并且比便宜的网络摄像头提供更好的视频,并且 Linux 中有大量用于处理 dv 视频的工具,例如 DV抓取.

如果你使用java, v4l4j 使得从任何 V4L 设备捕获帧变得非常简单。它还允许您通过 java 控制设备。我将它与 PTZ 网络摄像头(罗技 Quickam Orbit)一起使用,我可以控制亮度、饱和度和自动白平衡等常用功能,还可以控制相机的倾斜和平移。非常便利 !

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top