4. 帧捕获应用

4.1. 命令行程序

顾名思义,这些程序不需要 X Window 系统来操作您的摄像头和捕获图像。

4.1.1. Streamer

Streamer 是一个多功能的程序,允许仅使用命令行从网络摄像头或视频设备进行捕获。它可能在您的 Linux 发行版的 Xawtv 软件包中提供,或者可能需要单独获取,例如在 Debian 中。您可以在 Gerd Knorr 的 Xawtv 首页找到它和更多信息。

要从命令行拍摄标准 JPEG 图片,其中通过以下方式访问摄像头/dev/video0:

   $  streamer -c /dev/video0 -b 16 -o outfile.jpeg

...其中 -b 是颜色数(以 bpp 为单位,无论是 15、16、24 还是 32),而 -o 是将放入当前目录的输出文件名(指定 -o /path/outfile.jpg将其放置在其他位置)。如果您要捕获多个图像,请务必在输出文件名后附加零,因为 streamer 可以按顺序命名捕获文件,即 -o outfile000.jpeg变为outfile001.jpeg, outfile002.jpeg,等等。

要制作 .avi 文件

   $  streamer -q -c /dev/video0 -f rgb24 -r 3 -t 00:30:00 -o /home/jhs/outfile.avi

...其中 -q 用于“静默”执行(无消息输出), -f 是“格式”(rgb24 是 TrueColor avi), -r 是每秒帧数, -t 是录制时间(30 分钟)。Streamer 可以捕获原始和 Quicktime™ (非 Sorensen) 格式,也可以捕获音频。有关更多信息,请参阅 streamer --help

4.1.2. camE

CamE 是一个命令行程序,以守护进程模式工作,用于从您的 v4l 设备捕获帧以进行存档或上传(例如,到 Web 服务器),通过 ftp 或 scp。您可以通过更改配置文件中的相应行来覆盖其他图形、为帧添加时间戳或添加其他动态文本。有关更多信息,请参阅 camE 首页

4.1.3. Motion

Motion 是一个出色的程序,能够监控来自一个或多个网络摄像头的视频信号。它可以记录定期快照,并在检测到运动时,记录 mpeg 和/或执行另一个操作,例如发送电子邮件或执行命令。它可以跟踪并以图形方式标记它检测到的运动,通过 http 服务器将文件馈送到您的网站,将它们流式传输到另一个应用程序等等。命令行选项的数量可能令人生畏;但是,在线提供 Wiki,很好地概述了各种命令和配置文件选项。 motion 首页可以在 这里找到。

4.1.4. Webcam

Webcam 是一个用于操作网络摄像头的自动化命令行工具,也可以从 Xawtv 首页获得。它非常适合自动化操作,例如来自 cron 作业,因为它不需要任何命令行选项,只需要一个先前编辑的配置文件(通常是~/.webcamrc)。它类似于上面的 camE,因为它可以捕获图像并通过 ftp 或 ssh 将其上传到 Web 服务器。

4.1.5. SANE

SANE,或 Scanner Access Now Easy,在更高版本中支持访问 v4l 设备,包括网络摄像头。如果您熟悉在 Linux 中使用照片扫描仪设备,您可能会对使用 SANE 进行图像捕获感兴趣,尤其是一些设备兼作扫描仪和数码相机。请参阅 Scanner-HOWTO 的相关章节 此处

4.2. 基于 GUI(图形用户界面)的程序

4.2.1. Xawtv

Xawtv 是一个基于 X 的程序,用于访问 Linux 中的视频设备,包括电视调谐设备和网络摄像头。主页位于 http://bytesex.org/xawtv

当您第一次试用您的网络摄像头,并且您认为配置正确时,请使用 -hwscan 选项

   $  xawtv -hwscan This is xawtv-3.72, running on Linux/i686 (2.4.21) looking for available devices
      
   /dev/v4l/video0: OK		[ -device /dev/v4l/video0 ] type : v4l name : BT878(Hauppauge (bt878)) flags: overlay capture tuner
   /dev/v4l/video1: OK		[ -device /dev/v4l/video1 ] type : v4l name : IBM USB Camera           flags: capture

...所以现在您可以看到可用的设备(您的输出可能大相径庭)。尝试打开一个 xterm 并运行 xawtv,从您的网络摄像头视频设备抓取

   $  xawtv -c /dev/video1 This is xawtv-3.72, running on Linux/i686 (2.4.21)

...并且(希望)您的摄像头将开始捕获到桌面上的窗口。如果事情不顺利,您可能会在 xterm 中看到一些错误消息,这些消息可能有助于诊断配置问题。如果您对所有这些都不感兴趣,并且事情对您有效,请下次从窗口管理器的菜单启动。您可以使用 man xawtv 阅读有关更多 xawtv 选项的信息。

4.2.2. Gqcam

Gqcam 是一个图形化的基于 GTK+ 的应用程序,最初是为了访问 Connectix QuickCams 而编写的,但现在几乎支持所有 Video4Linux 兼容的网络摄像头设备。它具有直观的界面,可以轻松地查看、拍摄快照和配置网络摄像头设置。强烈推荐给那些只想偶尔拍几张照片而不想编辑配置文件或使用命令行的人。

4.2.3. Camorama

Camorama 是一个图形化的基于 GTK+2.0 的应用程序,与为 Gnome2 桌面编写的 gqcam 非常相似。主页是 这里

4.2.4. GnomeMeeting

GnomeMeeting 是一个用于 Gnome2 桌面的 VOIP/IP 电话应用程序,也支持使用网络摄像头进行视频会议。主页可以在 gnomemeeting.org 找到。