Linux上的视频捕获?

时间:2020-03-05 18:59:01  来源:igfitidea点击:

我们需要捕获实时视频并在Linux上轻松显示。我们需要带有简单API的廉价卡或者USB设备。任何人都想分享一些经验吗?

解决方案

回答

使用video4linux库。我已经将其与c ++程序一起使用,并且能够在大约一个小时内捕获网络摄像头帧。 (非常易于使用和设置)

回答

有奶酪gnome应用程序。使用起来真的很简单。没有太多功能,只是视频捕获。

回答

那里有"密封的"摄像机解决方案,在其背面有微型Web服务器和一个以太网端口。只需将其插入网络,设置其IP,然后在Linux或者其他任何地方打开浏览器...

如果我们想在Linux中进行捕获,我曾经有一个便宜的网络摄像头,可以在perl脚本中捕获单个帧,尽管大约10年前就可以进行实时修改。无论如何,它可能是:-/

回答

openCV允许我们从摄像机捕获单个帧并将其保存到磁盘。如果我们随后需要操纵它们来创建视频,我建议我们使用netpbm,这是一组功能非常强大的命令行工具,可以将其与一些shell脚本配合使用来制作视频或者执行所需的任何操作。

回答

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

Hymanbravo提到的Cheese是基于GStreamer的,而我正在开发的流服务器Flumotion也是基于。

回答

另一种选择是使用Firewire(IEEE1394)摄像机,例如最常见的DV便携式摄像机。与廉价的网络摄像头相比,它们往往能很好地工作并提供更好的视频,并且Linux中有很多用于处理dv的工具,例如dvgrab。

回答

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

这里有些例子:

  • 从火线连续捕获,每隔几分钟自动分裂
dvgrab --size 500 --autosplit <filename>
  • 实时观看相机
dvgrab - | mplayer -

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

回答

如果使用Java,则v4l4j使从任何V4L设备捕获帧变得非常简单。它还允许我们从Java控制设备。我将其与PTZ网络摄像头(logitech quickam轨道)一起使用,并且可以控制常见的杂物,例如亮度,饱和度和自动白平衡,还可以控制照相机的倾斜和平移。非常便利 !