什么是 XML|它对于 Final Cut Pro 用户意味着什么|Video Basic Theory|视频基础理论


教育网站

教育商店


视频基础理论|什么是 XML |它对于 Final Cut Pro 用户意味着什么|Video Basic Theory

作者:Philip Hodgetts 菲利普·霍吉茨  翻译/编辑:珍藏后期

  • Philip Hodgetts是一位技术专家、编辑、行业专家、播客资深人士和新分发系统专家。他的每周节目“创意星球的数字制作BuZZ”已成为数字制作、后期制作和发行技术和业务的参考点。作为基于 Final Cut Pro 的数字工作流程方面的专家,他在 Final Cut Pro 圈子中广为人知。
  • 本文中提到的Final Cut Pro XML 是指 Final Cut Pro 7 的XML版本

您可能听说过 XML 这个术语,但从未能够完全确定它的含义,因为每次您看到该术语时,它似乎都有不同的含义。这确实不足为奇,因为“XML”实际上只是在计算机可读且(理论上)人类可读的文档中呈现信息的方式的总称。XML 文件有许多不同类型。即使在 Final Cut Studio 中,除了明显的 Final Cut Pro XML 导出或导入之外,还使用了几种不同的“XML”格式。Motion 的项目文件是 XML 文件,尽管有“.motn”后缀。所有 .plist 首选项文件也是 XML 文件。您可以将 XML 视为人类。人类只有一种,但人类内部却有多种语言。同样,只有一种 XML 格式,但有许多不同的 XML 语言。

什么是XML?

如果您并不真正关心 XML 文件是什么,只关心如何使用它,请跳到下一部分。

图 1 – 我提取了 Final Cut Pro XML 导出的第一部分;Motion 项目文件和 .plist 首选项文件。第一行告诉我们以及读取它的计算机,这确实是一个 XML 文件。

看看图 1,如果您已经完成了大量的 Web HTML 工作,那么它的外观可能有点熟悉。

事实证明,HTML 和 XML 中的“M”和“L”代表同一事物:标记语言。如“超文本标记语言”和“可扩展标记语言”。一个“标记”文本以进行格式化;另一种是数据的可扩展标记语言。HTML 仅限于显示功能,而 XML 由于可扩展,因此对可标记的数据类型没有限制。

HTML 和 XML 都使用标签进行标记。HTML 标记文本块来告诉浏览器如何显示它。XML 使用标签来标记数据块,这些标签告诉我们存储的信息或数据的类型。

在 HTML 中,您有单词、段落以及标签,它们告诉浏览器如何将文本显示为“标记”。(在这项技术出现之前,标记是报纸或杂志编辑的工作。)例如,在 HTML“代码”中,您可能会看到如下内容:

<p> at the位于段落的 <b>beginning开头</b> of a paragraph </p>

此示例中有两组标记:一对“p”标记告诉浏览器将开始 <p> and closing和结束 </p> 标记之间的所有文本显示为一个段落,以及一对“b”标记告诉浏览器以粗体显示“开始”一词。

同样,在 XML 文件中也有标签,但这些标签告诉读者或计算机标签之间的信息类型。我们可以在时间码条目的开头使用 <timecode> at the start of a Timecode entry,在时间码条目的结尾使用 </timecode>,而不是段落。与上段中的 <b> </b> 标记一样,所有 XML 标记也可以嵌套。这意味着我们可以使用这段 XML 代码来提供剪辑的时间码详细信息(来自 Final Cut Pro XML 导出)。

<timecode>
      <rate>
              <ntsc>TRUE</ntsc>
              <timebase>30</timebase>
      </rate>
      <string>01:00:00;00</string>
      <frame>107892</frame>
      <source>source</source>
      <displayformat>DF</displayformat>
</timecode>

这里的标签是告诉我们这是一些关于时间码的信息。开始 <Timecode>  tag and the ending 标记和结束 </Timecode> 标记之间的所有内容都是有关时间码的信息。在 <rate> </rate> 标签内(请记住,这些是时间码速率,因为它嵌套在 <timecode> 标签对内),我们可以看到时间码为 NTSC,时基为 30。

请记住,任何嵌套信息都完全服从于其周围的标签。

因此,我们不必为标签说“时间码帧速率”,因为这隐含在将 <rate> 嵌套在 <Timecode> 中。在此示例中,<timecode> 有五个属性,其中之一是 <rate>,<rate> 有两个属性:NTSC 和 30。

XML 标签定义标签之间的数据类型。EDL 文件还携带有关剪辑和编辑的数据(但格式更旧),仅包含数据。图 除非您事先知道图 XX 中每一行中的每一项的含义,否则您无法推断出来。使用 XML,可以通过用标签标记来显式描述数据。

 
不同 XML 格式的不同标签

如果我们要查看运动项目文件的内部,我们会看到运动项目文件中处理的不同数据的不同标签,例如 <scenesetting> 或 <parameter>。

这种可用于许多不同目的的能力就是 XML 被称为可扩展的原因:它可以扩展到任何新目的,而无需通过标准机构。这也是为什么每个 XML 文档首先告诉我们它是一个 XML 文档(图 1 中示例的第一行),然后继续说明它所使用的语言。

在图 1 中,您可以看到每个示例中的第二行是 XML 文件类型的声明 – !Doctype – 第三行包含该类型文档的版本。XML 在这里声明它所说的语言,以便“听众”(人类和计算机)知道如何理解它所说的内容。例如,Motion 项目是“ozxmlscene”且版本为“ozxmlscene”1.5。Final Cut Pro 的 XML 格式是“xmeml”,(从 Final Cut Pro 5.1.2 开始)版本为 3。当计算机使用 XML 信息时,类型和版本信息尤其重要,因为为了使任何语言能够要想有用,听众必须理解语言,或者找到翻译。在这种情况下,XML 解释器称为“解析器”,因为它分解或解析文件中的信息。我们可以创建一个“大型解析器”,但由于 XML 的每次使用都非常具体,因此使用简单的解析器并在文件本身的开头声明语言变体会更容易。

虽然 Final Cut Pro 和 Motion 都生成 XML,但 Final Cut Pro 的 XML 解析器只处理“xmeml”,并且不知道如何解释 Motion 中的“ozxmlscene”。Final Cut Pro 将 Motion 文件解释为 QuickTime 剪辑。Motion 使用自己的后缀 .motn 而不是 .xml 的原因是,它可以在每个上下文中进行适当的解释:在 Motion 中,它是一个项目文件,而在 QuickTime 应用程序(如 Final Cut Pro)中,它是相同的文件被解释为 QuickTime 影片和 Final Cut Pro 剪辑。同样,Final Cut Pro XML 文件不会成为有用的 .plist 文件,因为该语言不包含相同的词汇表。

因此,当我们谈论 XML 时,我们确实需要更具体地了解我们所谈论的 XML 文件的类型。除了我已经提到的示例之外,您还会发现您的 iPhoto 相册数据存储为 XML 文件,但具有针对静态图像数据优化的词汇和语言。同样,您的 iTunes 播放列表以 XML 格式存储,该格式使用 iTunes 特定的语言和词汇。iMovie、iDVD 和桌面模式首选项窗格能够通过读取和解释 XML 文件来打开 iPhoto 相册和 iTunes 音乐库。理论上,Final Cut Pro 也可以用来打开 iPhoto 相册和 iTunes 播放列表,但它们与专业制作无关。播客提要文件是 XML 的另一种常见用途,是的,也是另一种 XML 语言,其词汇表针对创建音频或视频文件的提要进行了优化。在您的硬盘上进行搜索,看看有多少 .xml 文件,更不用说隐藏为其他内容的所有其他 XML 文件,例如 .plist 或 .motn (等等)。

XML 与 AAF 的比较

我们已经了解到,虽然 XML 和 EDL 文件都以纯文本形式呈现,但 XML 文件包含用于标识文件中每条数据的标签,而 EDL 文件只有数据,没有任何关于数字是多少的线索。开始时间码或结束时间码或持续时间(以秒和帧为单位)。EDL 被 OMF 继承,随后又被 AAF 继承——高级创作格式,旨在成为人类语言的世界语:编辑系统之间的通用交换格式。与 XML 不同,AAF 格式不是人类可读的,因为它是一种“二进制”格式(意味着它就像计算机代码),因此虽然 XML 文件可以在任何文本编辑器中打开并浏览和编辑,但像 AAF 这样的二进制文件则不能如此轻松地阅读或编辑。在一般计算机术语中,完全开放的标准是最好的。

那么,我可以在 Final Cut Studio 中使用 XML 吗?

Final Cut Pro XML 本身并没有多大用处,因为它被设计为扩展 Final Cut Pro 与其他应用程序和工具集成的一种方式。正如 Apple 在其有关 XML 的开发人员文档中所说:

“现在,大门向那些想要创建与 Final Cut Pro 完全集成的应用程序或构建定制后期制作流程以节省客户大量时间和金钱的开发人员敞开。”

 
它可以让开发人员深入了解 Final Cut Pro 项目的内部情况,并为其他目的公开详细信息,因为项目的每个方面都会公开,这与高级创作格式 – AAF – 应用程序之间的交换不同。例如,Avid 使用 AAF 在其应用程序之间进行交换,Adobe 也是如此,但许多有用信息都保持“秘密”状态,即专有信息,并且只有 Avid 应用程序才能访问该 Avid 专有数据。同样,只有 Adob​​e 应用程序可以访问 Adob​​e 专有部分。Final Cut Pro XML 将项目、bin 或序列中的所有内容公开给任何外部应用程序。

这使得Automatic Duck能够创建“翻译器”模块来获取Final Cut Pro XML并将其转换为OMF和AAF格式,以便在Avid、Premiere Pro、After Effects、Combustion和Pro Tools中使用,并在某些情况下从这些应用程序中引入项目信息到 Final Cut Pro。Spherico 创建了许多实用工具,可以获取 Final Cut Pro XML 数据并将其转换为其他有用的格式或将外部数据转换为 Final Cut Pro 可以使用的内容。同样,Digital Heaven 利用 Motion XML 项目格式来实现 Automotion 自动化。本文将进一步介绍这些用途。

Final Cut Studio 中的 Final Cut Pro XML

如上所述,虽然 Motion 项目文件是 XML 格式,但它们可以作为 QuickTime 剪辑直接在 Final Cut Pro 中打开。他们不使用 Final Cut Pro XML 格式。因此,就其本身而言,我们可以使用 Final Cut Pro XML 来实现“返回”Final Cut Pro 早期版本的一种方式。我相信您知道,我们无法在 Final Cut Pro 4.5 或更早版本中打开 Final Cut Pro 5 项目 – 至少不能直接打开。但是,从 Final Cut Pro 5 导出为 Final Cut Pro XML 版本 1,然后可以将该 XML 版本的项目文件导入到 Final Cut Pro 4.5 或 4 中。 Final Cut Pro 4 只能读取 Final Cut Pro XML 版本 1 .x,所以我们必须使用它来实现兼容性。因此,尽管 Final Cut Pro 没有“另存为早期版本”导出功能,但我们似乎始终能够使用 XML 返回至少一个版本。

Final Cut Studio 对 Final Cut Pro XML 进行了另一种用途。Cinema Tools 可以从 Cinema Tools 数据库中将记录导出为 Final Cut Pro XML,以便 Final Cut Pro 可以导入和创建链接回 Cinema Tools 数据库的剪辑。这意味着您可以导入 Telecine 日志,将其转换为 Cinema Tools 中的 Cinema Tools 数据库,并使用 Final Cut Pro XML 将所有信息直接转发到 Final Cut Pro 项目。

 
项目互换Project Interchange

Final Cut Pro XML 的下一个最常见使用方式是将项目信息从 Final Cut Pro 传输到另一个编辑、合成或音频应用程序。自动鸭子一直是该领域的领导者。Automatic Duck 的一系列工具将 Final Cut Pro XML 整合为:

  • 来自 Final Cut Pro 的“Avid 兼容”OMF 作品;
  • 带有 Pro Tools 嵌入式音频的 OMF;或者
  • 适用于 Quantel iQ 或 eQ 3.5 的 AAF 文件。或 Premiere Pro。

其他Automatic Duck工具允许将 Final Cut Pro 导出导入到 Autodesk Combustion 和 Adob​​e After Effects 中,并允许将 Avid OMF 合成导入到 Final Cut Pro 中。由于信息在 Final Cut Pro XML 中显示,因此可以将其转换为其他格式,以真正实现流畅的工作流程。自动鸭子的强大功能是有代价的,但系统之间工作流程的平滑是值得的。

越来越多想要与 Final Cut Pro 配合使用的应用程序在应用程序中提供本机 XML 支持。例如,Pyramix – 来自瑞士 Merging Technologies 的数字音频工作站 – 将是第一个基于 PC 的音频工作站,原生支持 Final Cut Pro XML,可导入和导出剪辑增益、淡入淡出、效果定义、包络等,以便在 Payramix 之间顺利工作、Vcube 和 Final Cut Pro。自动 Duck 的 Pro Import FCP 版本 2 及更高版本支持从 Pro Tools 导入 OMF,并在 Final Cut Pro 中保持所有图层完好无损。Autodesk 支持 Final Cut Pro XML 导入其烟雾、火焰和光泽系统,无需第三方工具。事实上,Autodesk 与 Automatic Duck 联手将 Avid AAF 文件导入 Smoke,使用技术将 AAF 无缝转换为 Final Cut Pro XML,然后再导入 Smoke。

 自动运动

Digital Heaven 在其AutoMotion应用程序 中为 Motion XML 创建了一种非常创新的用法。AutoMotion 采用一个或多个运动项目并将它们用作模板,将类似数据库的表中的信息与项目模板合并,以几乎立即创建项目的所有下三分之一标题。

这是可能的,因为 Motion 项目被构造为 XML 文件,因此可以读取、解释它,然后可以制作几乎相同的副本,但更改了文件中存储标题中实际单词的部分中的文本。使用 AutoMotion 创建的字幕的编辑速度比重新启动 Motion 并编辑一个字幕的速度要快。

当我想到 AutoMotion 及其功能时,我的头就会爆炸。Motion 项目文件是一个 XML 文本文件,因此可以通过 AutoMotion 进行操作,但由于 QuickTime 文件夹(在 Library 内)中的插件,Motion 项目文件也是一个 QuickTime 影片文件(未渲染),因此最终Cut Pro 将 Motion 项目“视为”可以导入、修剪和渲染的 QuickTime 剪辑。它既是甜点配料,又是地板蜡!

但是等等,还有更多!

苹果的目标是向第三方开放Final Cut Pro,并且开放已经成为现实。几乎所有剪辑管理工具,从Lumiére HD到CatDV,再到P2 LogDV Log,都将 Final Cut Pro XML 从其剪辑管理工具直接导出到 Final Cut Pro 项目。无需单独或作为一个组导入每个剪辑或多个剪辑。事实上,如今,任何专为 Macintosh 市场设计的日志记录工具最好具有 Final Cut Pro XML 导出功能才能具有竞争力。

Spherico 的 Andreas Kiel 是另一位非常积极地为 Final Cut Pro 用户创建基于 XML 的工具的开发人员。Andreas 确实创建了数十种使用 XML 来操作、扩展或支持 Final Cut Pro 的工具。

XML2Text是一个简单但非常通用的工具,它提取 XML 信息并允许编辑器以不同的格式保存此信息。它还可用于从序列 XML 中提取标记或剪辑信息,并在导出之前对其进行操作。它有很多用途,但其中之一是将剪辑标记转换为序列标记或打印带有注释的标记。它还可以将标记信息导出到 Compressor 之外的其他 MPEG-2 编码器,或者提取序列中的标题文本等等。

TitleExchange Lite/Pro是一个工具,可以将您的标题信息从 Final Cut Pro 转移到其他应用程序中;将字幕从其他来源导入 Final Cut Pro 或使用 Final Cut Pro 字幕创建 QuickTime,而无需渲染。

SoundCount是一种快速、简单的方法,通过分析 Final Cut Pro XML 文件来创建时间表来计算序列或项目中商业声音的总播放时间。

rotateClips展示了 Final Cut Pro XML 如何让生活变得更轻松。专为单一任务而设计,rotateClips 采用 Bin、Sequence 或单个剪辑,并翻转或翻转剪辑以纠正 35 毫米适配器倒置。

Spherico 还有其他几个可以加快工作流程的工具,包括获取 iTunes播放列表并将其转换为链接到源媒体的 Final Cut Pro 剪辑的 能力;BWF2XML将广播波形格式 (BWF) 文件中的元数据导入 Final Cut Pro;和更多。查看该网站– Andreas 很可能可以解决您遇到的问题,由 Final Cut Pro XML 提供支持。

xm|Edit 的口号“少工作,多玩”讲述了 Final Cut Pro XML 相对于 EDL 或 AAF 等特定编辑格式的优势。xm|Edit 的主要应用程序Traffic获取 Final Cut Pro XML 并在节点环境(如 Shake)中对其进行操作和处理。流量非常强大,允许用户将逻辑应用于序列并相应地操作剪辑。

借助 Traffic,剪辑师可以在几秒钟内完成序列的多个版本,将基本模板序列与数十个(或数百个)特定于电台或特定于地区的结局合并。另一种用途可能是根据剪辑记录数据中的任何标准从序列中选择剪辑,并根据选择构建序列。例如,拍摄所有绿屏镜头并将它们隔离到与不需要效果处理的镜头分开的序列中。

展望未来

Apple 显然致力于使 Final Cut Pro 尽可能开放,他们在 Final Cut Pro 5.1.2 版本中“加入”的新增功能就证明了这一点。在 5.1.2 中,他们添加了对 Final Cut Pro XML 第 3 版、Apple 事件和 QuickTime 电影元数据解释的支持。即使没有这些新功能,当前实施仍然存在未实现的潜力。

在 Apple 为开发人员揭晓 Final Cut Pro XML 的 文章中(对于开发人员文章而言,这是一篇令人惊讶的易于阅读的文章),其中有一些建议的用途,但从未从任何人那里看到过。一个示例讲述了一位剪辑师在 Adob​​e Illustrator 中创建运动路径,并使用 AppleScript 从 Illustrator 文件中提取图像信息并将其转换为 Final Cut Pro XML。这将增加对我们无法直接在 Final Cut Pro 中轻松获取的运动路径的一定程度的控制。开发人员文章描述了“支持 XML 的应用程序的完整列表,然后考虑它们如何与 Final Cut Pro 交互”。然而,正如我们已经了解到的,对 XML 的支持并不能立即保证对 Final Cut Pro XML 的支持。通常需要创建某种翻译软件来处理 Keynote 或 Omni Outliner 的 XML 输出,将其转换为对 Final Cut Pro 有用的东西!事实上,这些应用程序不太可能生成对 Final Cut Pro 有用的任何内容,因为它们缺乏有关媒体、剪辑、序列或任何对 Final Cut Pro 有用的元数据的信息。

数据库集成

Final Cut Pro XML 导出(和导入)的一个真正合乎逻辑的应用(尚未完全开发)是能够从所有项目导出到中央数据库,该数据库跟踪项目中的所有剪辑和媒体。该数据库将提供可浏览、可搜索的索引,并提供搜索、排序和将选择导出回 Final Cut Pro 以便包含在新项目中的功能。这种类型的工作流程还可以包括“转录”字段,以便更长的转录可以与 Final Cut Pro 集成,也许作为 Sergei Franklin 的Final Log的扩展版本,与 Final Cut Pro 进行更详细的双向通信。也许我们会看到苹果公司本身的一些此类集成,这是他们最近购买Proximity 的 Artbox 软件的结果。

基于脚本的编辑

与 Avid Media Composer 相比,Final Cut Pro 所缺乏的工具之一是基于脚本的编辑。在基于脚本的编辑中,脚本或纪录片转录可以与项目中的音频和视频保持一致。当以这种方式工作时,我们可以从脚本中搜索单词短语或句子,并找到匹配的音频和视频。

版本跟踪

当我们进入一个需要对电影或广播发布进行一次编辑、对互联网的网络剧集进行不同的编辑以及对手机发布进行另一次编辑的世界时,跟踪版本是一个日益严重的问题。这是任何项目都会经历的正常版本控制的补充。借助 Final Cut Pro XML,制作公司可以定期(例如每天)导出 XML,并跟踪项目中创建的所有序列的所有版本。

与使用 Final Cut Pro Vault 相比,这将使剪辑师能够更早地回溯项目历史,检索更早的版本。

自动化工作流程

Final Cut Pro XML 将产生重大影响的一个领域是自动化工作流程。例如,Kent Bye 对使用 XML 将 Final Cut Pro 与开源内容管理系统Drupal集成感到非常兴奋。在 2005 年底的一篇文章中,他概述了使用 Drupal 和 Final Cut Pro XML 进行协作电影制作的流程。

对于自动化来说不幸的是,Final Cut Pro 目前不支持 AppleScript 或 Automator,但看来将来可能会提供支持,因为 Apple 在 Final Cut Pro 5.1.2 中添加了 Apple Event 支持。Apple 事件支持是添加 AppleScript 或 Automator 支持的必要第一步。对 AppleScript 或 Automator 的支持意味着我们可以使用 XML 来自动化进出 Final Cut Pro 的工作流程,以传达项目的详细信息。

并走向未来!

Final Cut Pro XML 的可用性一直并将继续是 Final Cut Pro 成功的重要组成部分。通过为第 3 方提供从 Final Cut Pro 项目获取信息以及向 Final Cut Pro 项目获取信息的开放方式,Apple 可以专注于与第 3 方开发人员一起提供 Final Cut Pro 中的核心功能,以创建和集成我们在此讨论的工具类型。

Apple 正在为开发人员提供更多进出 Final Cut Pro 的方式以及更多“挂钩”来扩展 Final Cut Pro 的功能。正如我上面提到的,Final Cut Pro XML 版本 3 支持与前面提到的 Apple Event 支持一起包含在 Final Cut Pro 5.1.2 中。Final Cut Pro XML 版本 3 支持另一项新功能,即 Final Cut Pro 缓存 QuickTime 文件中的元数据。最常见的是,我们会看到作者和版权详细信息等元数据,但 QuickTime 影片中可以包含大量元数据,Final Cut Pro 现在会将其缓存到项目中。

它将如何使用?谁知道,这是一个新功能,但苹果已经创建了一个演示应用程序MovieAssembler。MovieAssembler 使用这些新功能来创建“监视文件夹”。当任何新素材添加到文件夹时,MovieAssembler 会监视它并自动将其导入 Final Cut Pro。更好的是,MovieAssember 将元数据从 QuickTime 影片传递到 Final Cut Pro。元数据告诉 Final Cut Pro 将剪辑编辑到哪个序列,以及在序列中的什么时间进行编辑!

无论未来工作流程如何发展,拥有开放、可访问且文档齐全的交换格式将继续成为 Final Cut Pro 的一大优势,也是剪辑师的有用工具。


特权会员|Member

幕后英雄,加入专业会员,优化工作流程和体验正版效率!


联络渠道|技术支持

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注