[LinuxFocus-icon]
首页  |  站点地图  |  索引  |  搜索

新闻 | 过往期刊 | 链接 | 关于LF
This document is available in: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Turkce  

[Photo of the Author]
by Katja Socher
<katja(at)linuxfocus.org>

关于作者:

Katja是LinuxFocus的一位德语编辑。她喜欢Tux,电影&摄影 和大海。她的主页可以在 这里找到。


目录:

 

灯光, 摄影机, 开拍... Kino!

[Illustration]

摘要:

Kino是一个从你的摄像机中捕捉视频到计算机的程序,你可以用它 处理影片(目前只实现了一些基本功能,但是在将来有希望增强), 并且可以将处理后的影片输回摄像机中。



 

安装

Kino使用ieee1394(i-link,firewire)协议与你的数字摄像机进行通讯。 为此,你需要在计算机上安有一块firewire卡。我现在使用的是Exsys- 6501的firewire卡(www.exsys.de),它在Linux下工作得非常 出色。

所有新近的内核版本(我使用的是2.4.18)都支持IEEE1394。你需要在内核 编译时激活以下与IEEE1394相关的内核选项:

CONFIG_IEEE1394=m
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_PCILYNX_PORTS=y
CONFIG_IEEE1394_OHCI1394=m
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_RAWIO=m

你会在http://linux1394.sourceforge.net/找到编写内核代码的 firewire团队的主页。不过我不推荐你从那儿下载内核代码,而 建议你使用已经整合到主流内核( www.kernel.org)中的代码。

为了使用firewire的功能,你需要安装libraw1394,libavc1394和 libdv。所有这些都可以在sourceforge:
sourceforge.net/projects/libdv
sourceforge.net/projects/libraw1394
sourceforge.net/projects/libavc1394上找到。
我使用的是libraw1394_0.9.0.tar.gz,libdv-0.9.5.tar.gz和 libavc1394-0.3.1.tar.gz。
libdv-0.9.tar.gz也能工作,不过在其mmx代码中有一个bug。 你需要在文件mmx.h中编辑函数mmx_ok(void)并修改它为总是 返回1(return (1);)。0.9.5版本没有这个问题。
要安装这些库,可使用通常的

./configure
make
make install

现在使用modprobe装载内核模块video1394:

modprobe video1394

运行lsmod来检查以下模块是否装载了:

video1394 15344 0 (unused)
ohci1394 17136 1 [video1394]
raw1394 6896 0 (unused)
ieee1394 24848 0 [video1394 ohci1394 raw1394]

有多种方法来自动装载模块,不过最简单的解决方案是在文件/etc/rc.local (redhat/mandrake)的末尾添加"modprobe video1394"。

最后你需要一个由以下命令生成的设备文件:

cd /dev
mknod video1394 c 172 0
chmod 666 video1394

libraw包含了测试程序testlibraw。如果安装成功,那么当你运行它时, 你应该获得以下输出结果:

> testlibraw
successfully got handle
current generation number: 17
1 card(s) found
nodes on bus: 2, card name: ohci1394
using first card found: 2 nodes on bus, local ID is 0, IRM is 1

doing transactions with custom tag handler
trying to send read request to node 0... completed with value 0x23127bac
trying to send read request to node 1... completed with value 0x60217dac

using standard tag handler and synchronous calls
trying to read from node 0... completed with value 0x04477dac
trying to read from node 1... completed with value 0xd37380ac

testing FCP monitoring on local node
got fcp command from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef
got fcp response from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef

polling for leftover messages

到此你可以安装kino(本文中使用的是kino-0.5.tar.gz)了。你可以使用 如下命令安装它:

./configure
make
make install

 

捕捉(摄像机->计算机)

[capture your video]
将你的摄像机通过firewire连接到PC。然后打开摄像机,启动kino (按照这个顺序)并在kino中跳转到capture。你会注意到现在你可以使用 kino控制摄像机了,你可以启动回放,停止,暂停,倒带等功能。

如果你现在想要捕捉影片到计算机中,那么首先点击“setup”。因为你可在 手册(位于细目Kino Preferences下)中找到一份对每个set up菜单按钮的很棒的帮助说明, 所以我不想在这儿赘述。我只是想提请注意以下事项:
在file内你必须指定一个目录和文件名。目录必须已经存在。如果 你忘记给出文件名和目录,那么影片不会被捕捉到你的计算机中。

如果你关闭了对话框,那么指定的文件现应该在主屏幕上亦是可见的。

可以作自动分离捕捉的处理,就如在拍片中也会有停顿一样,这会将 影片分割成几个场景,并且它通常工作得很好。

不过对于特技电影,我建议你屏蔽此选项,因为不这样做的话, 每帧都将是一个场景,这样后面要剪辑几乎是不可能了。
姑且就这么设置吧。

如果你现在按下红色按钮,影片将被抓取。
现在跳转到“Editor”,打开你的影片并按下play来观看它!
 

处理影片

[edit your video]
为此,跳转到Editor。目前为止,kino只支持很基本的编辑,但是对于 许多情况来说,你可能已经觉得足矣。
跳转到File并打开现有的影片。如果你用鼠标左键点击Frame Position (右下),就会显示当前帧数以及总的帧数。你也可以看到视频播放器 的显示并播放你选择的电影,倒带等。
你可以复制场景,剪切并粘贴它们。

剪去场景

你跳转到想要剪去的帧之前的那帧并将该场景分离成两部分, 然后跳转到你想要剪去的最后一帧,并再次将场景分离成 两部分。至此你跳转到想要剪去的场景,在其上点击鼠标并"cut"。

你也可以通过点击“insert file before frame”将另一个影片添加 在你选定的影片之后。添加的文件只需要具有同样的格式和大小等。

保存

如果你只是要编辑图像,那就不必要使用超过你需求的更多磁盘空间。所以 仅仅转到File-->Save as并保存播放列表(save the Playlist)即可。 这些播放列表文件是非常小的xml文件。它们指向在捕捉时创建的原始AVI文件。

如果你完成了所有编辑工作,你可以输出(不是保存)它为你硬盘上的一个 大文件或者回录到你的摄像机。

你也可以使用命令行,这在kino的界面上会看到。对于可用的命令,请参看 手册。

时间表

在Timeline下你可以获得影片的帧列表。显示多少帧依你选择的间隔时间 而定。这可以帮助你了解整个故事的梗概。  

AVI并不是AVI

关于AVI的一条注意事项。AVI本身并非一种特定的格式(例如像gif或jpg)。 AVI是一种容器的格式。Kino可以以dv2和dv1格式输出和输入AVI。如果 你打算进一步使用其它程序处理视频的话,那么通常选择dv2会更好一些。 Jpeg编码的AVI不是非常流行。为了将dv2 AVI转换为Jpeg编码的AVI, 可使用dv2jpg(sourceforge.net/projects/dv2jpg/)  

输出

你可以从影片中保存静态图片,你可以保存它为另一个avi文件,而且如果 你的摄像机允许,你也可以将编辑的电影传回到摄像机。
[camera VTR setting]

输出到摄像机

首先打开你的摄像机,然后启动kino并跳转到Export。即使是输出影片到 摄像机,你摄像机上的控制按钮也应该设置为"VTR"。这可能有些奇怪, 因为你通常是使用该模式来播放影像而不是用于录像,但是这对 绝大多数摄像机正是起作用的,特别是对于Sony的摄像机。

选择面板“IEEE 1394” [export to fire wire] 并按下红色按钮来启动输出过程。

输出为AVI文件(不是作为播放列表)

跳转到Export并选择面板"AVI"。这儿你可以选择文件类型(dv1或dv2)。 如果你想要进一步处理电影,可使用类型2(dv2)。你可以选定一个文件名 并按下红色按钮启动输出过程。

静态图片

为了从影片中获得一张或者几张静态图片,可转到Export并选择面板 "Still Frames"。这儿你可以输入一个文件名和自动设置文件格式的 文件扩展名。我不知道支持哪些文件格式,但是.jpg和.gif都工作得不错。

也可以输出声音为一个单独的文件。但是我尚未对此作过测试,因为 我总是在剪辑之后才将声音加到影片中去的。  

参考资源

 

对这篇文章发表评论

每篇文章都有各自的反馈页面。在这个页面里,您可以提交评论,也可以查看其他读者的评论:
 反馈页面 

主页由LinuxFocus编辑组维护
© Katja Socher, FDL
LinuxFocus.org

点击这里向LinuxFocus报告错误或提出意见
翻译信息:
en --> -- : Katja Socher <katja(at)linuxfocus.org>
en --> zh: surestar <surestar(at)x263.net>

2002-08-03, generated by lfparser version 2.25