使用 Kino 制作电影
每位摄像机用户都希望通过编辑将原始视频转化为真实的影片。无论摄像机包装盒上如何吹嘘特效等等,您仍然需要合适的编辑工具。幸运的是,借助当今强大的 PC、Linux 和名为 Kino 的应用程序,您可以组建自己的小型好莱坞工作室。
Kino 是一款非线性编辑器软件。它可以捕获原始视频、编辑和重新组织,并导出最终结果。借助额外的免费超酷插件,Kino 为您提供了制作优秀电影所需的所有必要工具。
制作电影通常包括使用摄像机进行录制。我们不介绍这部分,而是从解释如何使用 Kino 将录制的原始视频复制到 PC 开始。现代摄像机通过 IEEE1394 接口与 PC 通信,苹果称之为 FireWire;索尼更喜欢 i.Link 这个名称。捕获后,您可以编辑原始视频,添加标题和创建特效。您可能还想通过添加、混合和替换声音来改善您的电影。Kino 支持所有这些功能。当您的电影完成后,您可能想制作 DVD,以便可以在独立的 DVD 播放器上播放,甚至制作 MPEG4。压缩电影的质量低于原始原始文件,因此如果您真的想要高质量并充分利用数字摄像机的优势,您还可以使用 Kino 和您的摄像机将电影复制回 DV 磁带。
要将视频流从摄像机发送到 PC 并返回,您需要在 PC 和摄像机两侧都配备 IEEE1394 接口。检查您的 PC;许多现代计算机(包括笔记本电脑)都已经内置了此接口。如果没有,您可以从许多供应商处单独购买 IEEE1394 卡。您当然需要一台数字视频摄像机。您的摄像机可能是 Digital 8(简称 D8)或 MiniDV。
要将摄像机连接到 PC,您需要一根电缆。摄像机通常具有四针母连接器,而 PC 具有六针连接器。查看您的计算机(或 IEEE1394 卡),如果您没有正确的电缆,请购买 4-4 或 4-6 电缆。
显然,您需要一台配备大容量硬盘的 PC。您必须有大量的可用空间。例如,要将 60 分钟的 MiniDV 磁带复制到您的计算机,大约需要 12Gb。进一步的工作可能需要大约 15Gb 用于编辑过的帧和声音,因此 27Gb 的可用空间是使用一小时原始视频制作电影的绝对最小值。根据您想做什么,您可能需要额外的 14Gb 来将您的结果导出到新的 .dv 文件。在捕获时,计算机必须以每秒约 3.5MB 的速度进行记录,因此硬盘应尽可能快地工作。如果配置正确,任何现代 Ultra-DMA 驱动器都可以工作。
1GHz 处理器和 128MB 内存是处理视频的绝对最低配置。为了舒适地工作,您可以使用更多的内存,并可能使用更强大的 CPU。
就软件而言,您需要 Kino 及其使用的库,但这并非全部。Kino 仅提供基本的编辑工具,效果很少。Tim Shead 和 Dan Dennedy 一直在开发 timfx,这是一组添加额外效果的 Kino 插件。另一个名为 dvtitle 的插件(由 Alejandro Sierra 开发)用于添加标题。
由于 Kino 需要额外的程序和库,因此从源代码安装并非易事(有关 Kino 主页,请参阅在线资源部分)。Kino 可以作为软件包用于多个发行版,包括 Debian、SuSE 和 Fedora。安装软件包比从源代码构建容易得多。
Kino 的开发进展迅速。在撰写本文时,最新版本为 0.7.3。在 Debian 3.0(稳定版)中,Kino 版本为 0.5.0,而 Debian 3.1(开发分支)建议最新版本为 0.7.3。SuSE 9.1 建议使用 Kino 0.7.0。为了帮助您保持程序最新,我们创建了所有必要的软件包。有关链接,请参阅资源。
安装软件后,通过 IEEE1394 将摄像机连接到 PC,并运行命令kino从任何 X 终端或在 KDE 或 GNOME 下,从 Alt-F2 对话框。Kino 打开窗口类似于图 1 中所示的窗口。
GUI 易于理解。要捕获视频,请选择右侧的“捕获”选项卡。但是,在开始捕获之前,最好检查您的偏好设置。单击“编辑”→“偏好设置”以查看默认设置。根据您的摄像机设置“归一化”、“音频”和“宽高比”。参数取决于您使用的摄像机以及购买它的国家/地区。NTSC 标准用于美国、加拿大和日本,PAL 标准用于其他所有地区。摄像机通常有两种音频模式:16 位和 14 位,后者通常是默认设置。在录制之前将其更改为 16 位以获得更好的质量。
捕获的帧可以存储为三种格式:.dv 和两种 .avi 文件。一般来说,您使用哪种格式并不重要;我们更喜欢使用原始 DV。
设置您的偏好设置后,按“捕获”,然后输入捕获视频的文件名,无需使用扩展名。您还可以选择“自动分割文件”选项,以便 Kino 将每个自动识别的场景更改保存在单独的文件中,并在核心文件名中添加一个数字。您可以接受其余所有内容的默认设置。
现在,设置您的摄像机,使其理解控制信号。通常这在播放模式下,但不确定时请查看手册。尝试使用 Kino 控制摄像机,前后移动磁带。尝试按 Kino 中的“播放”按钮。视频应开始播放,其输出应显示在 Kino 主窗口以及摄像机屏幕上。请注意丢帧字段。理论上,这应该是零,但在实践中,丢失前一两帧并不算太糟。但是,如果丢帧数持续增加,则说明您的硬件太慢或配置错误。如果您无法使用 Kino 控制摄像机,请尝试手动加载 raw1394 驱动程序。以 root 用户身份,键入modprobe raw1394.
如果您有较慢的硬件,您还可以尝试使用 dvgrab,这是一个用于抓取 DV 的命令行工具。此程序可从 Kino 主页获得(请参阅资源)。在使用它之前,请退出您的 X 会话。按照其帮助手册页上的说明进行操作。在抓取原始视频后,您可以启动 Kino 并加载捕获的文件以进行编辑,如下所述。
如果“播放”选项运行正常,您可以开始捕获。转到您要开始的位置前 1-2 秒,然后单击“捕获”。Kino 启动摄像机并开始捕获。随时按“停止”停止捕获。以这种方式传输的视频将显示在 Kino 屏幕左侧的场景列表中。“自动分割”有时会错误地工作,但您可以稍后更正。图 2 显示了捕获后 Kino 的窗口。
捕获完成后,立即从“文件”菜单中选择“保存”,并将项目另存为同步多媒体集成语言 (SMIL) 文件。清单 1 显示了一个 SMIL 示例。在 <seq> 和 </seq> 标签之间,显示剪辑描述。每个描述定义一个简单或复杂的场景。简单场景由 <video...> 命令描述,该命令指向将在电影中使用的剪辑文件的第一个和最后一个帧;复杂场景是一组简单场景。每个场景的第一帧都显示在 Kino 故事板的左侧面板中。
清单 1. .smil 电影项目示例
<?xml version="1.0"?> <smil > <seq> <video src="/mnt/RAW FILES/Paris001.dv" clipBegin="0" clipEnd="441"/> </seq> <seq> <video src="/mnt/RAW FILES/Paris002.dv" clipBegin="0" clipEnd="368"/> </seq> <seq> <video src="/mnt/RAW FILES/Paris003.dv" clipBegin="28" clipEnd="761"/> <video src="/mnt/RAW FILES/Paris004.dv" clipBegin="567" clipEnd="967"/> <video src="/mnt/RAW FILES/Paris008.dv" clipBegin="28" clipEnd="761"/> </seq> <seq> <video src="/mnt/RAW FILES/Paris004.dv" clipBegin="26" clipEnd="234"/> </seq> </smil>
如果您的电影是由许多不同的磁带组装而成,请在摄像机中放入新的磁带并重复上述步骤。
在场景的第一帧附近的故事板中,您可以找到有用的信息,例如场景所在文件的名称、场景开始的时间标记以及场景的持续时间。
在捕获时,Kino 会根据原始源显示时间。在编辑模式下,时间码显示正在运行的电影时间。时间可以以多种格式显示。最简单的是帧格式。这是一个从零开始的帧计数器。其他格式更易于人类使用,例如秒;也提供分钟。我们喜欢使用行业标准电影与电视工程师协会 (SMPTE) 时间码格式,该格式同时显示时间和帧计数器,用分号分隔。例如,如果您看到时间记录为 00:07:40;15,则表示 7 分钟、40 秒和 15 帧。您可以从“时间”下拉菜单中选择您喜欢的时间格式。
据说莫扎特不写草稿,但并非每个人都能像莫扎特一样。如果您开始录制得太早或结束得太晚,则可能需要剪切场景,或者您最终可能会得到错误的帧、不必要的帧或持续时间错误的帧。场景的持续时间通常由动作决定。如果没有动作,场景持续时间不应超过 4-6 秒。较短的场景看起来像闪光,而较长的场景则很无聊。
要开始编辑,请浏览场景。如果您在一个场景中只找到一两个问题帧,您可以删除它们,或者在自动分割不正确的情况下,将它们与下一帧分割。要删除场景,请按右侧的“编辑”选项卡,指向您要删除的故事板中的场景,然后单击它。主窗口显示场景的第一帧。单击工具栏中的剪刀图标。场景从故事板中消失,下一个场景的第一帧显示在主窗口中。
通常,您希望查看场景中各个帧的概览。使用 Kino,您可以通过单击“时间线”来做到这一点。图 3 显示了 Kino 时间线的示例。
如果只需要从场景中剪切一部分,则应将其分割为坏的部分和好的部分。使用传输控制线查看和定位它们。如果您单击工具栏中的分割图标,则当前帧将启动新创建的场景。确保当前帧位于您要删除的场景中,方法是单击“剪切”。如果您需要删除场景的中心部分,此方法效果很好。如果您想准确设置场景的开始或结束点,最好使用“修剪”。
“修剪”是用于编辑的强大工具。最基本的用途是补救场景中第一个或最后一个帧的问题。要使用“修剪”,请在故事板中选择场景,然后单击“修剪”。您应该看到一个擦洗栏和两个文本框;左边的文本框标记为“入点”,右边的文本框标记为“出点”,如图 4 所示。这些框显示剪辑文件中当前场景的起点和终点的帧编号。使用控制按钮或横线上的三角形导航到新的起始位置。使用单帧功能以获得更高的精度。指定新的起始位置后,单击横线下方的左三角形以更改位置。“入点”文本框会更改以反映此选择。要修剪场景的结尾,请对终点执行相同的操作,并通过单击右三角形来设置它。如果您满意,请单击红色的“应用”按钮。
退出“修剪”模式或在故事板中选择新场景进行编辑也会应用您所做的任何更改,因此在编辑时请小心。
在“入点”指针下方是一个文本字段,指示修剪的当前模式。“插入”和“覆盖”是两种修剪模式,类似于使用文本编辑器。使用“覆盖”,故事板中当前选定的场景将被最新的场景替换;“插入”在当前选定的场景之前或之后添加新场景。“插入”模式没有“应用”按钮,只有“之前”和“之后”图标。这意味着您必须进行选择才能应用更改。
当您的所有场景或片段都摆脱了不需要的帧后,请将它们按正确的顺序排列。重新排序它们的简单方法是使用故事板。首先单击“编辑”,然后单击您要移动的故事板中的场景,然后单击“剪切”。然后,选择您要跟随它的场景,然后单击“粘贴”。剪切的场景将出现在选定的场景之前。
重新排序场景的更简单方法是使用拖放。在“编辑”模式下,单击您要移动的场景,按住鼠标按钮并将其拖动到故事板列表中的所需位置。释放鼠标按钮后,场景将出现在此位置。在拖放时,请注意指示当前目标位置的细线。如果目标显示虚线矩形,则拖放不起作用。您还可以将先前捕获的视频片段插入到您当前的电影项目中。“命令/插入电影”按钮将选定的文件放在当前位置,“命令/追加电影”按钮将其放在后面。如果需要,插入的文件会自动分割成场景。
在您的场景组装完成后,您的电影的视频部分几乎完成,但您仍然可以添加 Kino 和 timfx 提供的一些特效。但请注意特效,过多的特效会分散观众的注意力。您不必在每个场景更改中都添加特效,就像您不必在文档的每个部分都使用新字体一样。最简单的 Kino 特效是百叶窗。让我们用它来连接两个场景。
单击“特效”→“视频转场”。从下拉菜单中选择“百叶窗擦除”。在另一个字段中,选择您想要的门类型。图 5 显示了一个垂直的门。故事板显示了我们想要与下一个场景连接的当前场景的第一帧。因此,我们选择“后续帧”和“向前”。要在渲染之前查看结果,请单击“预览”。尝试此特效的其他选项并预览它们。当您对结果满意时,按“渲染”。
渲染按钮上有一个红点,以显示其重要性。在渲染时,Kino 会创建一个新文件。所有先前的编辑都保持原始原始文件不变——只有 SMIL 已更改。现在您可以创建一个新文件,该文件会自动包含在项目中。
Kino 本身提供百叶窗特效。其他特效可通过 timfx 获得。图 6 显示了完整列表。许多特效是众所周知的,例如我们在此处用创建标题来说明的特效。

图 7. 视频转场菜单
Kino 还可以更改视频的速度。此功能用于添加喜剧效果或使时刻看起来更长。要更改速度,请使用“高级选项”下的刻度栏并按下“速度”按钮。您还可以激活“反向”以从结尾向起点播放剪辑。更改速度和反向可以与“转场”或“滤镜”特效结合使用。
如果您想为片段添加文本注释,dvtitler 可以提供帮助。例如,让我们创建一个简单的相册,表示我们电影中扮演角色的角色。您甚至可以使用 GIMP 等图像编辑器使用照片创建它。
首先,拍摄人物的照片并调整其大小以插入到电影中。对于 PAL,尺寸应为 720×576,对于 NTSC,尺寸应为 720×480。
让我们为此示例假设以下内容。第一个人将显示五秒钟,然后有四秒钟用于更改,然后再显示五秒钟用于下一个演员。
从“特效”菜单中,选择“创建 (5+4) 秒*25=225 帧”。为了保持帧数均匀,我们选择“从文件创建”→“226 帧”,如图 8 所示。同时,我们添加标题“Denys Tonkonog”。它由两行居中的行组成,最初位于帧的右上角。由于最终位置相同,因此标题在帧中不会移动。X 偏移和 Y 偏移用于将完整标题保留在帧中,即使电影在电视上显示也是如此,因为电视屏幕的尺寸可能有限。标题预览的屏幕截图如图 9 所示。
我们以相同的方式创建另一个标题“Olexiy Tykhomyrov”。然后,我们返回“编辑”模式并使用“分割”来分隔应用特效的部分。我们没有创建两个标题场景,而是创建了四个。它们的持续时间为五秒,然后是四秒,再次是四秒,然后是五秒。两个中心场景(均为四秒)与“图像亮度”合并为一个。
在“特效”模式下,单击故事板下方的第二个场景。在“视频转场”下,选择“图像亮度”。接下来,指定带有亮度图像的文件。在示例(图 10)中,我们使用了标准渐变文件 left_to_right.png。不要忘记将模式从“插入”更改为“覆盖”。渲染后,您将拥有三个场景而不是四个。图 3 显示了带有更改标题的场景的时间线。将“图像亮度”与不同的文件一起使用可以帮助您创建许多有趣的效果。
使用 Kino,您可以完全更改场景中的声音、向场景添加声音、混合音乐或保持原声带不变。找到合适的音乐进行混合或替换可能是工作中最困难的部分。对于非商业项目,请查看知识共享。
Kino 使用 WAV 格式的声音,而不是 MP3。如果您有 MP3 文件并想在电影中使用它,则必须将其转换为 WAV。我们更喜欢使用 mpg123
mpg123 --wav foo.wav foo.mp3.
如果您使用现场声音,最好从 .dv 源导出原声带,因为声音会随着剪切的视频场景而丢失。要编辑声音,我们使用 snd。找到要使用声音的场景的起点和终点,然后转到“音频”。根据需要选择参数,包括“从”和“到”(图 11)。不要忘记指定不带扩展名的输出文件。
您可以使用“分割”将多个场景合并为一个,以便应用声音。确保在故事板中选择了要应用声音的场景。接下来,单击“特效”并选择“音频转场”。选择“配音”以从文件应用声音,或选择“混合”以将文件与场景中已有的声音混合。添加您的音频文件并预览场景。尝试使用参数,当您满意时,按“渲染”。渲染可能需要一些时间。
将所有内容放在一起后,输出结果。虽然可以创建许多输出格式,但为了保持原始质量,我们建议您将电影输出回磁带以节省硬盘空间。通过选择“导出”选项卡,然后从菜单中选择“IEEE1394”来执行此操作。通过此接口导出之前,请设置 dv1394 设备和驱动程序。首先,根据您的摄像机发出以下两个命令之一。该命令创建 dv1394 设备。
对于 PAL 系统,命令是
mknod -m 666 /dev/dv1394 c 171 34
对于 NTSC 系统,命令不同
mknod -m 666 /dev/dv1394 c 171 32
现在,仍然以 root 用户身份,使用命令加载驱动程序
modprobe dv1394
接下来,作为 Kino 的普通用户,选择“偏好设置”→“IEEE1394”。屏幕上会出现一个类似于图 13 的窗口。如果您使用 Kino 捕获,则标题为“DV 捕获”的部分已正确填写;您的摄像机被识别为录像机 (AV/C) 控制设备。应打开摄像机,使其理解控制信号(通常为播放模式)。
要通过 IEEE1394 接口输出,请将线索行 dv1394 设备更改为 /dev/dv1394。然后单击“确定”关闭设置菜单。接下来,单击“导出”并选择“IEEE1394”。您应该看到类似于图 14 的内容。
请注意图 14 底部的信息行。在这里,Kino 会通知您 dv1394 设备的可用性。如果它抱怨,请等待大约 20-40 秒。如果在此间隔后错误重复出现,请在 Linux1394 首页上阅读有关该设备的更多信息。
接下来,选择“预览”。电影应开始在摄像机屏幕上播放。现在,将磁带放入摄像机中,放到您要写入的位置,然后选择“导出”按钮开始将电影写入磁带。根据您的用户手册检查您的摄像机指示的内容。通常,它会显示类似“DV 输入”的行,并可能提供额外的 DV 导出信息。
如果一切正常,您可以停止摄像机,将磁带准确地放在您要写入电影的位置,然后开始导出。写入所需的时间等于电影的持续时间。在导出时,Kino 会在导出窗口的底部指示已用时间和剩余时间。
您还可以将电影导出为文件或一组文件。Kino 与其他程序一起提供以下内容
DV 文件,以新的文件格式存储电影,可以进一步用于压缩和导出,而无需 Kino 界面。
静止帧将电影另存为 JPEG 格式的图像序列。
MPEG 将电影编码为 MPEG 或 DivX。
音频允许您仅保存音轨。
DV 管道为您提供了一个很好的工具来创建您自己的电影保存方法。它还包括标准功能,例如导出到用于视频 CD 的 MPEG1 或 MPEG2。
请记住,并非所有导出功能都可能在您当前使用的盒子上工作;可能需要安装额外的程序。导出到 DV 文件应该可以工作,并且反映了与使用摄像机和 IEEE1394 接口将电影保存到磁带上类似的一般规则。
要将电影导出到单个 .dv 文件中,请选择“导出/DV 文件”。禁用“自动分割文件”选项,并指定“全部”作为“导出范围”以导出场景列表中的整个电影。选择“类型文件”——我们更喜欢“原始 DV”。在“每文件帧数”和“最大文件名”字段中输入零值,如图 15 所示。单击“导出”。Kino 开始导出,指示完成该过程所需的估计时间。
Kino 仍在开发中,当您使用“编辑”或“修剪”时可能会偶尔崩溃,因此请确保定期保存您的电影项目。尽管 Kino 会监视它创建的文件,但在崩溃的情况下,它可能会失去对这些文件的控制。为了保持硬盘清洁,请不要忘记删除未使用的 .dv 文件。
作者衷心感谢日内瓦天文台的 Paul Bartholdi 教授和意大利国际理论物理中心,感谢他们提供了真正的互联网连接,这在第聂伯罗彼得罗夫斯克国立大学是不可能的。
Olexiy Tykhomyrov (tiger@ff.dsu.dp.ua) 自 1994 年以来一直使用 Linux。他在第聂伯罗彼得罗夫斯克国立大学实验物理系工作,教授物理和通信。他爱他的儿子米沙,米沙叫他老虎,因为他的一些学生害怕他。老虎喜欢游泳和旅行。
Denis Tonkonog 是老虎以前的学生,也在第聂伯罗彼得罗夫克国立大学工作,喜欢旅行和持枪钓鱼。朋友们称他为黑猫,但没有人解释原因。可以通过电子邮件 denis@ff.dsu.dp.ua 与他联系。