观察,我的朋友...
本月Marcel介绍了Gqcam、xawtv和MASH,这些是与网络摄像头一起使用的一些简单而有趣的工具。
作者:Marcel Gagné
天啊! 这太糟糕了。弗朗索瓦,你为什么不告诉我呢?当我一起制定菜单时,你肯定应该很清楚。我必须想出一些办法,而且要快,在我们的客人到达之前。太晚了,弗朗索瓦。他们来了。
您好,我的朋友们。欢迎来到Chez Marcel,精致Linux烹饪的家。弗朗索瓦,请带我们的朋友们到他们的餐桌旁。如果我看起来有点沮丧,请原谅,但我今天有点措手不及。你看,当弗朗索瓦告诉我这期杂志的主题将是SOHO时,我想,啊,太棒了!一期以我们太阳系的奇迹为主题的杂志。当我得知SOHO在这里指的是小型办公室/家庭办公室,而不是太阳和太阳层观测站时,我感到非常惊讶。然后,我开始玩弄这些词,你看。天文台让我想到了观测星星的技术,就像那架以Hubble先生命名的奇妙望远镜。然后我想,但是真正的明星是我们餐厅的贵宾——你们,我的朋友们。
这就引出了我们今晚的菜单。但首先,我们必须有葡萄酒,不是吗?弗朗索瓦,请从酒窖里拿出1998年的Picadilly Valley霞多丽给我们尊贵的客人。
为了在使用以下食谱时取得最高的成功,强烈建议使用最新的内核。这一点尤其重要,因为您在当地电子产品仓库中找到的许多廉价网络摄像头都是USB设备。内核越新,设备就越有可能得到支持。在品尝这些食谱时,我使用了2.4.9内核和两个不同的网络摄像头,一个基于CPiA芯片组,另一个使用ov511模块。
网络摄像头的普遍用途是在网站上,提供网站运营者生活的片段。一些网站提供摄像头是为了让我们确信他们确实在工作。另一些网站则让父母观察他们在日托中心玩耍的孩子。捕获这些图像的软件有时被称为帧捕获器。
啊,弗朗索瓦,你回来了。请为我们的客人倒酒。弗朗索瓦?弗朗索瓦,我在和你说话。你说你没听到我说话是什么意思?啊,我明白了。一位美丽而神秘的女士坐在22号桌。倒酒,然后你可以自我介绍一下。快点!
我刚才说到哪儿了?是的,帧捕获器。Gqcam就是这样一个软件包。有了它,你可以设置一个摄像头,密切关注任何需要观察的东西,并随意捕捉图像。你甚至可以设置它来自动抓取正在进行的图像序列,无论你选择什么间隔。要开始使用Gqcam,请访问Cory Lueninghoener的网站(cse.unl.edu/~cluening/gqcam)获取最新的源代码,然后解压并构建它
tar -xzvf gqcam-0.9.tar.gz cd gqcam-0.9 make
您还在等待其他东西,不是吗?这个没有 make install,我的朋友们。您可以手动将最终的二进制文件复制到/usr/local/bin,或者您想保存可执行文件的任何位置。如果您愿意,也可以通过键入 ./gqcam & 直接从构建目录执行程序。您可能会发现,和我一样,程序默认查找/dev/video。使用USB设备,我的网络摄像头实际上位于/dev/video0,而/dev/video是一个目录。为了解决这个问题,我使用了-v标志
gqcam -v /dev/video0您选择用Gqcam观察什么完全取决于您,但至于您可以用该程序做什么,请允许我提出一些建议。如果您看一下图1,您会看到Gqcam正在运行的快照。在它运行时,您可以做一些有趣的事情。例如,您可以随时单击“Snap Picture”按钮来捕捉帧。您将可以选择将其保存为PNG、PPM或JPEG格式。如果您快速单击多个图像,您可以将它们组装成某种电影。
当然,不断地给自己拍照是很乏味的,不是吗?这就是为什么Gqcam允许您设置定时器。单击“Camera”,然后选择“Set timer”。您可以选择图像将要保存的目录和要保存该图像的适当文件名,例如/somedir/mypic.jpg。将定时器设置为一秒钟,然后让它运行。您最终会在/somedir中得到许多图像,这些图像的文件名为mypic,后跟句点、日期和时间戳,以及.jpg扩展名。这里有趣的部分是,您可以使用ImageMagick软件包(可能已安装在您的机器上)中的一个简单命令来运行这个小电影
animate mypic.*.jpg
Gqcam也可以直接从命令行运行,这使得设置一个cron作业在选定的时间间隔捕捉帧相当简单
gqcam -v /dev/video0 -d /wwwdir/filename.png-d选项指定转储捕获图像的位置。图像的默认格式是PNG,但您也可以使用-t标志来指定JPEG作为覆盖。现在,如果我碰巧在某个地方运行一个Web服务器,当我有心情时,我可以捕捉一张当前的图片,然后,瞧,我们都是互联网明星,不是吗?您现在只需要一个简单的网页来显示图像,如下所示
<html> <head> <title>Cam Chez Marcel</title> </head> <body bgcolor="White"> <center> <h1>Bienvenue! You are watching Cam Chez Marcel</h1> <img src="camsnap.png"> </center> </body> </html>另一个执行与Gqcam部分相同功能的程序是Gerd Knorr的xawtv。顾名思义,这旨在为您提供一种观看电视节目的方法(使用适当的硬件),但它也处理来自网络摄像头的输入。当您觉得您做了一些值得定期观察的事情(例如,视频销售演示文稿)时,您可能会决定提供一个视频剪辑会增加一些额外的价值。xawtv 可以为您提供这种能力。首先访问网站 bytesex.org/xawtv 并获取最新副本。从工作目录中,解压源代码并构建它
tar -xzvf xawtv_3.64.tar.gz cd xawtv-3.64 ./configure make make install您可以通过在命令行键入 xawtv & 来运行程序。在这种情况下,程序自动检测到我的摄像头的位置,因此不需要额外的设置。当您右键单击图像时,会出现一个选项菜单,您可以在其中更改视频设置,例如亮度和颜色。与Gqcam一样,您也可以抓取图像并将其保存为PPM或JPEG格式。对于本次讨论更感兴趣的是下一个菜单项。
如果您按R,将出现一个录制窗口。默认设置是保存多个图像,然后您可以使用外部程序组装这些图像。但是,您可以单击“movie driver”并选择原始视频数据或AVI格式文件。选择AVI,选择要保存到的文件名,然后单击“start recording”选项卡。当您获得所需的素材时,再次单击该选项卡。(它实际上显示“start/stop”。)如果您加载了xanim软件包,您可以选择单击下面的选项卡来播放您录制的内容。查看图2以获取录制会话对话框的示例。
靠近点,我的朋友们。注意弗朗索瓦看起来有点不舒服。他有点被22号桌的神秘女士迷住了。这个可怜的男孩太害羞了,不敢亲自去和她说话。为了我忠实的侍者和像他一样的人,我向您介绍我们今天的最后一个食谱。
当您想面对面,但距离(或其他情况)使之变得困难时,视频会议就是答案。这就是MASH发挥作用的地方。MASH实际上是由Open MASH Consortium(由Larry Rowe和Steve McCanne创建)制作的一系列工具。他们的目的是创建一个公共领域工具包,用于开发协作和流媒体应用程序。MASH代表跨异构环境扩展的多媒体架构。不,真的。这一切都是真的。
如果您有兴趣,您可以从头开始下载源代码并构建软件包
tar -xzvf mash-src-5.1.5.tar.gz cd mash-code ./build
最简单的方法是从Open MASH网站 www.openmash.org 下载预编译的二进制软件包。完成后,您只需解压软件包并运行安装脚本。观察,我的朋友们
tar -xzvf mash-bin-5.1.5-linux-gnu.tar.gz cd mash-5.1.5 ./setup.sh很简单,不是吗?正如我所提到的,这是一个工具集合,而不是单个程序。然而,最有趣的工具,特别是对于弗朗索瓦来说,是vic,这是一种视频会议工具,允许多个用户参与视频通信
vic hostname/port_no例如,如果我想连接到我的网络上名为speedy的机器上的2002端口,我将发出如下命令
vic speedy/2002此时您应该看到一个小窗口弹出,窗口中心显示一条简单的消息“等待视频...”。您正在等待的视频当然是22号桌的那位年轻女士。对于那里的年轻女士们来说,很可能就是弗朗索瓦。谁知道呢?当我们等待连接的另一端时,单击“Menu”按钮。将出现一个控制窗口,您可以从中控制当前会话的许多方面。查看该窗口的顶部,然后单击“Transmit”按钮。即使没有连接的另一端,您也会看到一个坐在摄像头后面的自己的小图像。
现在,单击小图像。会出现一个稍大的会话图像。当另一端的人上线时,他们的图像将出现,您可以按照相同的步骤分离出一个更吸引人的视图。图3显示了弗朗索瓦使用vic与这位神秘女士交谈。正如您从图像中看到的那样,他甚至害怕让自己的图像被看到,并提供了一个头像。可怜的弗朗索瓦。
与我们今天看到的其他应用程序一样,vic的视频控制菜单允许您修改许多设置,例如亮度、对比度和颜色。您甚至可以通过单击“Size”按钮来更改查看器的大小。
再一次,快要结束营业时间了。通常,我会请我的服务员为您提供最后的加酒,但我担心,我的朋友们,今晚要由我来为您续杯了。弗朗索瓦似乎有点心神不宁。
啊,爱情。
