使用 QDVDAuthor 进行 DVD 母版制作
七年前当我开始使用 Linux 时,我多次被告知,只有十足的白痴才会认真尝试在一堆开源 UNIX 工具上进行视频和多媒体制作。当时,我刚开始进入数字制作领域,拥有一套配备了适当工具的舒适的 Windows 工作站,我没有迫切的理由转移到 Linux,除了一个原因:我厌倦了 Windows。
因此,在过去的几年里,我一直在逐渐将我的工作室从 Windows 转移到 Linux。长期以来,Linux 已经能够使用 Kino 和 Cuisine 等应用程序编辑数字视频,并使用 Cinelerra 及其前身捕获和编辑其他视频。更长的时间以来,Linux 一直是一个出色且功能强大的 3D 图形创建和渲染平台,而 GIMP 长期以来足以满足大多数栅格图形处理需求。Linux 落后于竞争操作系统的两个领域是合成和复杂的 DVD 创作。尽管前者仍然是一个问题,但后者正开始走向成熟。
最近,我有机会和空闲时间重新审视 Linux DVD 创作领域,并对我发现的东西感到惊喜。尽管用于 DVD 创作的命令行工具长期以来就具备构建复杂的菜单驱动 DVD 的技术能力,但适合最终用户和艺术家使用的 GUI 工具却严重缺乏。我很高兴地发现这种情况已经改变。任务:将我的独立电影的宣传片整理成一个有吸引力的、菜单驱动的 DVD。
在浏览了各种可用的软件包后,我选择了 QDVDAuthor。总的来说,它在流畅的工作流程、内容控制和最小的依赖性问题之间提供了最佳的折衷方案。它当前的主要弱点(即,以晦涩的方式直接访问 DVD 文件结构以进行黑客级调整)对我来说并不重要,因为我没有打算制作评论音轨或隐藏彩蛋。
当我们开始时,我几乎不需要提醒您,这是一个 beta 级软件。始终保存您的工作;QDVDAuthor 在其一些不太完善的领域容易崩溃,您不希望在毫无防备的情况下被抓住。
安装完成后(有关程序和依赖项信息,请参阅侧边栏),我们打开主窗口(图 1)。
要开始一个新项目(文件→新建),我们需要运行设置向导(当您指定创建新项目时会出现),指定临时目录、项目标题和数据目标目录(图 2 和图 3)。
向导只有两个屏幕长,很快就完成了,我们准备开始构建 DVD 本身。为了本教程的目的,我假设您已经拥有 DVD 规格的 MPEG-2 视频可以使用。如果您没有,请参阅侧边栏以快速了解 DVD 视频的编码。我将要构建一个 DVD,其中包含我的独立电影 狩猎红隼 的预告片和NG镜头,这部电影是在 Kino 中编辑并在 Blender 中完成标题制作的。
现在我们的项目已经设置好了,让我们开始导入我们要使用的视频。假设您已经主动分解了您的视频以避免同步问题,您将需要导入您的视频文件,以便它们以您想要的方式组织,并且(最重要的是)可以通过一个按钮轻松播放,并且尽量减少麻烦。为此,单击主窗口工作区左侧的“添加视频”按钮,然后选择您的视频。在导入对话框中选择多个文件(Ctrl-单击)会将文件导入到单个标题标题下。如果您以后想向特定标题添加更多文件,只需导入它们,然后将它们拖放到文件列表窗口的“全部”选项卡中的标题之间(图 4)。通过拖放,您还可以混合标题的播放顺序。为了更明智地控制标题中文件的播放顺序,右键单击标题并选择“属性”(图 5),并使用向上和向下按钮重新排序曲目。

图 5. 重新排序曲目
完成导入所有素材后,就该开始构建菜单了。您需要从下往上构建菜单结构,从最深层的菜单开始,然后向上回到主菜单,这样当您链接所有按钮时,您不必重蹈覆辙。我将继续制作主菜单。因为您将使用相同的步骤和工具来创建每个菜单,所以请随意扩展到您喜欢的程度。在主窗口中,单击“添加背景”按钮。从这里,您可以选择任何兼容的静止图像或视频 (MPEG-2) 文件,您想将其作为主菜单的底层。
如果您想让循环配乐在您的菜单中运行,请单击“添加声音”按钮,并加载任何兼容的音频文件(.wav、.mpa、.mp3、.mpega、.ogg 等)。但是,这里有一个需要注意的错误:QDVDAuthor 在其设计中似乎有一个奇怪的疏忽,因为它导入了大多数声音,但它实际上不会将音频编码为适合多路复用的格式。当处理音频时,转码对话框(您可以通过右键单击剪辑并选择“属性”来访问它)似乎会无缘无故地崩溃,因此您无法在输出最终项目时自动转码音频。这意味着,目前,菜单的音频循环必须是 mplex 友好的格式(AC3 或 MPEG-Audio)。要从您的 .wav、.ogg 或 .mp3 文件中获得合适的音频,只需在命令提示符下键入以下内容
ffmpeg -acodec mp2 foo.mp2 -i foo.wav
完成后,您可以将 .mp2 文件导入 QDVDAuthor 并正常继续。
图 6 显示了菜单背景,它是我在 Blender 中制作的,以及加载的配乐循环。
现在背景已经设置好了,是时候构建按钮了。因为这是一篇入门文章,我们只使用文本按钮,尽管 QDVDAuthor 完全能够使用视频按钮或图像按钮。
要创建文本按钮,请右键单击工作区,然后选择“添加文本”。这样做会将您的光标变成十字,您可以使用它单击并拖动以绘制文本框以填充文本。如果您绘制了错误的形状或将其放在了错误的位置,请不要担心,在指定文本后很容易纠正这些错误。
绘制框后,会出现文本创建对话框,您可以从 X11/fonts 目录中安装的任何字体中选择,以及设置文本框的颜色、对齐方式、大小、样式和背景颜色。在启动 QDVDAuthor 之前,应将特殊的 TrueType 字体放入此目录,它们将出现在字体选择对话框中。这也是您调整框的尺寸及其位置的地方(尽管位置也可以通过在主窗口中简单地拖放来调整)。
完成定义文本框后,单击“确定”,然后在主窗口中,右键单击您的文本框并选择“定义为按钮”(图 8)。
在这里,您可以分配按钮将执行的操作(跳转到文件、调用菜单或恢复)。如果您单击“高级>>>”按钮,您可以进一步定义导航控件在 DVD 菜单中移动光标的方式(向上、向下、向左和向右列表框),将每个方向按钮路由到屏幕上的不同按钮。因此,例如,在我当前的项目中,我有五个按钮,我希望观看者能够以相当明显的方式在每个按钮之间导航(图 9 和图 10)。
因此,我设置了焦点“全部播放”按钮以进行简单的直接导航,如图 11 所示。
现在,剩下的就是让“全部播放”按钮正常工作,这非常容易。由于我们将所有视频分组在一个标题下,并在导入时按照我们希望它们播放的顺序排序,因此“全部播放”所需做的就是将按钮链接到标题的第一章。一旦开始,它将播放该标题中的所有视频,然后返回到主菜单。更复杂的播放列表安排是可能的并且相当简单,但超出了本文的范围。
配置好按钮并订购好视频后,您就可以刻录了。单击“DVD 导出”按钮(图 12),它将弹出导出批处理管理器窗口(图 13)。

图 12. DVD 导出按钮
在这里,您可以在构建 DVD 之前对您的项目进行任何最后的调整——如果您愿意从这里而不是从 K3b 进行刻录。
一旦您单击“确定”,所有这些命令将按顺序在图 14 所示的窗口中执行。
仔细观察以查找以红色打印的任何错误标志。如果您忽略它们,您会发现自己刻录了杯垫,如果您有可刻录的图像的话。如果您确实收到任何红色标志,请重新运行批处理,单击“导出”而不是“确定”按钮,这将导出一个 shell 脚本,您可以反汇编和调整它以跟踪并纠正您的问题。这并不总是必要的,但偶尔程序就是无法生成正确的输出,并且必须手动调整它。
如果一切顺利,您现在拥有一个简单的、菜单驱动的 DVD,适合在任何消费类 DVD 播放器和电视上展示。
Linux 可用的创作工具集,虽然仍然存在一些粗糙之处,但现在终于能够制作专业的和复杂的 DVD,包括音频评论、视频菜单、动画、照片库、仅配乐曲目、章节选择菜单、播放列表和彩蛋。这些专门的结构中的每一个都需要一些努力,但它们都一起工作。只需稍加摸索和偶尔的 XML 调整,Linux 最终能够胜任多媒体工作室流水线中的创作位置。QDVDAuthor 及其竞争程序的未来改进肯定会使情况变得更好。
现在,如果我们能得到一个能够胜任的开源合成器就好了……。
视频编码
如果您使用 miniDV 摄像机拍摄的素材,从 Kino 输出 DVD 就绪的视频相对简单。如果您以前没有使用过它,Kino 的界面舒适且易于导航。在 Web 上的多个地方都可以找到良好的用户指南,最明显的是 Kino 的主页 (kinodv.org/article/archive/13)。很遗憾,它不是多轨编辑器,但对于具有基本转场和配乐混合的快速而粗糙的编辑工作,它效果令人鼓舞。当从 Kino 输出视频时,我发现我在 DV Pipe 屏幕中使用双通道编码获得了最佳效果(对于视频质量和最小的声音同步滑移)。
如果您想从 PVR 刻录 DVD,您仍然需要将文件转换为正确的格式。Mencoder 非常适合这项工作,尽管它有令人困惑的选项阵列。这是一个从 xvid 移动到 DVD 兼容 MPEG-2 的示例命令参数
mencoder -ovc lavc -lavcopts vcodec=mpeg2video -oac lavc -lavcopts \ acodec=mp2:abitrate=512 foo.avi -o foo.mpg
关于编码为 DVD 格式 MPEG 的一个重要警告:我遇到的每一个 Linux 视频编码器都使用 FFmpeg 或 MJPEGTools 作为后端,并且它们都有相同的问题——一个大问题。它们似乎都有一个错误,会导致声音同步在整个文件中逐渐滑移,大约在最初两分钟的素材后变得明显。这是库中的一个问题,我还没有找到解决办法,尽管使用 FFmpeg 比 MJPEGTools 明显不那么明显。这是 Linux DVD 作者仍然面临的最大和最麻烦的障碍。我发现解决这个非常恼人的问题的唯一方法是将您的视频切成两到五分钟的曲目,并将这些曲目中的每一个用作 DVD 上的单独标题。这是一个丑陋的解决方案,不是您想在聚会上谈论的那种事情,但目前这是我们能做的最好的。在理想的世界中,维护这些项目的好心人会解决这个问题,但由于这对许多商业 MPEG 编码器来说是一个常见问题,所以我并没有抱太大希望。(我应该补充一点,亲爱的读者,万一这是一个用户脑残错误,我遗漏了一些显而易见的东西,我期待着您的充满欢乐的仇恨邮件。)
如果您想使用可用的命令行工具(mencoder、FFmpeg 和 mjpegtools)自行尝试,以下是您需要编码可用的 DVD 视频文件的重要统计数据(所有数字都适用于 NTSC)
视频
720x480,宽高比为 4:3(标准)或 16:9(变形)。
MPEG-2 @ 高达 98,00kbps
音频
48khz @ 32–1,536kbps
PCM、AC3、MPEG-1 Layer2
最多编码八个音轨
DVD 文件结构
数据 DVD 和视频 DVD 之间的区别本质上是文件结构和视频格式。文件结构的正确编码由 DVDAuthor 处理,DVDAuthor 是所有 Linux DVD 程序所依赖的后端。它接受一个 XML 文件并从中构建 DVD 映像。这是我为本文构建的项目的 DVDAuthor 输出
<dvdauthor dest="/home/user/dvddirectory/" jumppad="yes" > <vmgm> <menus> <video format="ntsc" resolution="720x480" /> <pgc entry="title" > <vob file="/tmp/HK Promo disc/Main Menu VMGM_menu.mpg" pause="inf" /> <button name="1" >jump title2; </button> <post> jump vmgm menu 1; </post> </pgc> </menus> </vmgm> <titleset> <menus> <pgc> <post> jump vmgm menu 1; </post> </pgc> </menus> <titles> <pgc> <vob file="/home/user/dvdmenu1.mpeg.vob" /> <vob file="/home/user/trailerdvd.mpeg.vob" /> <vob file="/home/user/video/cinereel1.mpg" /> <vob file="/home/user/video/cinereel2.mpg" /> <post> call vmgm menu 1; </post> </pgc> </titles> </titleset> </dvdauthor>
QDVDAuthor 和依赖项
QDVDAuthor 可在 qdvdauthor.sf.net 获取。
它依赖于以下软件包:Transcode、PCM2AIFF、toolame、dvdrecord、dvdauthor、FFmpeg、mjpegtools、arecord、oggdec、lame、mplayer/mencoder、dvd-slideshow、sox、imagemagik、mkisofs、growisofs 和 dvd+rw-format。
Dan Sawyer 是一位自由导演/制片人,他的小型工作室的骨干运行在 Linux 上。自 1990 年代后期他创立 Blenderwars 电影制作社区 (www.blenderwars.com) 以来,他一直是自由和开源软件的热情倡导者。当前的项目包括独立科幻长片 狩猎红隼 (www.blenderwars.com/kestralmannix) 和 精神项目,这是一本以神话中坚强女性为中心的艺术摄影书籍。