注意:

无法在 2014 年 6 月版和更高版本的 After Effects CC 中将文件导出为 FLV 和 F4V 格式。使用 After Effect CC(2013 年 6 月版)或较低版本可将文件导出为 FLV 和 F4V 格式。

您可以从 After Effects 中渲染影片,并将其作为可在 Adobe Flash Player 中播放的影片导出。SWF 文件自动在 Flash Player 中播放,而 FLV 或 F4V 文件必须包含在(或链接到)SWF 文件中才能在 Flash Player 中播放。您也可以将合成作为 XFL 文件导出到 Flash Professional 中。

此视频来自 After Effects CS5:视频教程系列,概述了如何导出到用于 Flash Professional 和 Flash Player 的各种格式,并演示了每种格式的用法和常见问题。

XFL

XFL 文件是合成的表示形式,可以在 Flash CS4 Professional 或更高版本中打开。XFL 文件本质上是 FLA 文件的 XML 等效项。

SWF

SWF 文件是在 Flash Player 中播放的小文件。它们通常用来在 Internet 上交付动画矢量图形(如漫画)、音频和其他数据类型。SWF 文件还允许查看器交互,例如单击以打开 Web 链接、控制动画,或向富 Internet 应用程序 (RIA) 提供输入。SWF 文件是从 FLA 文件创建的输出。

FLV 和 F4V

FLV 和 F4V 文件只包含基于像素的(栅格化)视频,而不包含矢量图形,因此不具有交互性。FLA 文件可以包含并引用 FLV 和 F4V 文件,然后将 FLV 和 F4V 文件嵌入或链接到在 Flash Player 中播放的 SWF 文件。

将合成作为 XFL 文件导出到 Flash Professional

您可以将来自 After Effects 的合成导出为 XFL 格式,以便进一步在 Flash CS4 Professional 或更高版本中修改和使用。例如,可以使用 Flash Professional 中的 ActionScript,向 After Effects 合成中的每个图层添加交互式动画。

在作为 XFL 文件导出合成时,After Effects 尝试导出单个图层和关键帧,并且会为了在 Flash Professional 中直接使用而保留尽可能多的信息。如果 After Effects 不能将合成的元素导出为 XFL 文件中未渲染的数据,则会忽略该元素或者将其渲染到 PNG 或 FLV 项中,具体取决于您是否选择忽略不支持的功能。

关于 XFL 文件

XFL 文件本质上是 FLA 文件的 XML 等效项。XFL 文件是压缩的存档文件夹,该文件夹包含一个 Library 文件夹和一个描述 FLA 文件的 XML 文档 (DOMDocument.xml)。Library 文件夹包含 XML 文件引用的资源。当在 Flash Professional 中打开 XFL 文件时,它从 XFL 文件提取这些项,并使用它们来生成 FLA 文档。您可以从 Flash Professional 中将该文档另存为新的 FLA 文件;不能使用 Flash Professional 更改 XFL 文件。

注意:

如果想检查或手动编辑 XFL 文件的内容,可以像打开任何其他 .zip 文件一样,打开压缩的存档文件。不是非得将文件扩展名更改为 .zip,但这样做可以更加方便地提取文件以进行手动检查。

此视频来自 After Effects CS5:视频教程系列,演示了如何导出为 XFL 格式。

将合成导出为 XFL 格式

  1. 要将选定合成作为 XFL 文件导出,请选择“文件”>“导出”>“Adobe Flash Professional (XFL)”。

  2. 在 Adobe Flash Professional (XFL) 的“设置”对话框中,选择 After Effects 将如何处理具有不支持的功能的图层:

    忽略

    具有不支持的功能的图层不包括在 XFL 输出中。

    栅格化

    对具有不支持的功能的图层进行栅格化处理。这意味着图层将被渲染为位图格式(FLV 文件或 PNG 图像序列)。不保留矢量。在 Flash Professional 中使用 XFL 文件时,这将保持图层的外观。在栅格化为 PNG 序列时,邻近的相同帧仅栅格化到单个 PNG 文件一次,然后多次引用该文件。

  3. (可选)单击“格式选项”按钮,然后修改用于创建 PNG 序列或 FLV 文件的设置。

    如果在“格式”菜单中选择了 FLV 时单击“格式选项”,将打开“导出设置”对话框。虽然您可以修改比特率等项,但通常您不需要更改此对话框中的许多设置。您在此对话框中所做的更改会保留下来,并用于随后的导出操作,因此请仔细留意更改的内容。

    如果想撤消对格式选项所做的更改,请单击 Adobe Flash Professional (XFL)“设置”对话框中的“重置为默认值”按钮。

  4. 在“导出为 Adobe Flash Professional (XFL)”对话框中,选择输出文件的位置。

在正在处理合成的过程中,会出现一个显示导出操作进度的对话框。

当 After Effects 创建 XFL 文件时,它还会将一个报告 ([XFLfile_name] report.html) 保存到 XFL 文件所在的同一文件夹。报告显示以下内容:

  • 是栅格化还是忽略具有不支持的功能的图层

  • 是栅格化(“渲染”)还是传递(“链接”)每个源项

  • 是栅格化(“渲染”)每个图层还是将其转换为本机 Flash 对象

使用从 XFL 文件创建的 FLA 文档在 Flash Professional 中工作

Flash Professional 的“库”面板与 After Effects 中的“项目”面板类似。当 Flash Professional 从 XFL 文件创建 FLA 文档时,它会创建符号、文件夹和视频剪辑,并将它们组织到库面板中。库面板中的每个项都有唯一的名称,即使它们基于 After Effects 中具有相同名称的项,因此可以使用 ActionScript 操作这些项。这一唯一命名要求导致 After Effects 在创建 XFL 文件时向许多名称附加下划线字符和数字。

当 Flash Professional 利用包括 FLV 文件的 XFL 文件生成 FLA 文档时,FLV 文件嵌入在 Flash 内的时间轴中。通常,构造 FLA 文档更为有效的方式是将视频文件移至 SWF 文件引用的外部位置以流式传输视频。您可以根据需要在 Flash Professional 内取消嵌入 FLV 文件,方法是删除视频并使用 FLVPlayback 组件再次导入它。

注意:

在 After Effects 中,合成的时间轴在第 0 帧处开始。在 Flash Professional 中,时间轴在第 1 帧处开始。此差异导致 After Effects 合成时间轴和相应的 Flash 时间轴看起来彼此偏离一个帧。

在 After Effects 中,合成的像素长宽比可以不是 1.0(正方形像素)。Flash Professional 仅支持 1.0 的像素长宽比。在将合成导出为 XFL 格式时,FLA 文档是具有不同像素数的方形像素文档,以便 Flash Professional 文档的外观与 After Effects 合成的外观匹配。XFL 文件中的缩放值可保持图层的外观。

在将合成导出为 XFL 格式时如何保留功能和数据

在将合成导出为 XFL 文件时,After Effects 会经过多个阶段,在每个阶段都会尝试从图层及其源文件中导出最大量的信息。

如果合成使用 PNG、JPEG 和 FLV 文件作为其图层的源,这些源文件将包含在 XFL 输出(传递)中,除非图层使用的功能强制 After Effects 对源文件进行转码或将图层栅格化以导出到 XFL 格式。

注意:

转码是将源文件从一种格式转换为另一种格式的过程,例如从 GIF 转换为 PNG。栅格化是将图层转换为位图图像,将每个帧的所有模型信息(如矢量和关键帧)合并到基于像素的拼合图像中。

阶段 1:如果可能,将在不进行更改的情况下传递源文件。

对于要传递到 XFL 文件的图层源文件,图层必须符合以下要求:

  • 图层有源素材项目,该素材项目使用 PNG 或 JPEG 序列或 FLV 文件作为源。(图层不是文本图层、摄像机图层、光图层或形状图层。)

  • 源素材项目的帧速率与合成的帧速率相匹配。

  • 图层的源没有经过修剪。

  • 图层不会扩展到合成工作区域的第一帧之前或最后一帧之后。

  • 除“位置”、“锚点”、“不透明度”、“缩放”和“旋转”之外,图层没有其他属性。因为效果会向图层中添加属性,此要求还意味着图层没有应用效果。

  • 图层没有应用运动模糊、帧混合或时间重映射。

  • 图层没有轨道遮罩。

  • 图层上方不存在调整图层。

  • 上方的图层不使用“正常”之外的混合模式。

  • 图层没有设置“保持透明度”选项,它上方的任何图层也没有设置该选项。

  • 图层不是 3D 图层。

阶段 2:如果可能,剩余的源文件将转换为 PNG 序列或 FLV 文件。

如果图层的源文件不能传递到 XFL 文件的唯一原因是它没有使用 PNG 序列、JPEG 序列或 FLV 文件作为源,则图层的源将被转码或栅格化为包含在 XFL 文件中的 PNG 序列或 FLV 文件。在这种情况下,图层的“位置”、“不透明度”、“缩放”和“旋转”关键帧将予以保留,并转换为 XFL 输出中的关键帧。如果多个图层使用 After Effects 中的同一源,并且符合上面列出的所有其他传递要求,它们也将在 Flash Professional 中创建的文档中共享相同的源。预合成可以作为源项栅格化。

从合成创建的 XFL 文件会保留合成中图层的动画信息。“位置”、“不透明度”、“缩放”和“旋转”属性的关键帧转换为 Flash Professional 中的关键帧,每个动态属性的每个帧都有一个关键帧。只有 2D 位置(x 和 y)关键帧和 2D (z) 旋转关键帧会得到转换。

在 After Effects 中,“锚点”属性可以动画显示,但 Flash Professional 中的变换点不能动画显示。在 Flash Professional 中,变换点位于符号的左上角。After Effects 中的变换属性(包括锚点)的关键帧动画围绕导出的 XFL 文件中的变换中心转换为动画。

阶段 3:如果可能,剩余的图层将作为单个图层栅格化。

如果图层的源文件不满足传递、转码或栅格化要求,则图层本身必须作为图层栅格化。栅格化图层意味着它的所有关键帧信息都将丢失,所有信息均包含在栅格化的图像帧本身内。

要作为单个图层栅格化,图层必须满足以下要求:

  • 图层或者基于视频素材项目(包括实底),或者是形状图层或文本图层。(图层不是摄像机图层、光图层或仅音频图层。)

  • 图层上方不存在调整图层。

  • 上方的图层不使用“正常”之外的混合模式。

  • 图层没有轨道遮罩。

  • 图层没有设置“保持透明度”选项,它上方的任何图层也没有设置该选项。

  • 图层不是 3D 图层。

阶段 4:剩余的图层被一起渲染并栅格化到素材箱中。

如果图层不满足栅格化到单个图层的要求,则它将与组中的其他图层一起被渲染和栅格化(素材箱)。一起栅格化的图层素材箱通常是 3D 图层,即,与混合模式、轨道遮罩以及受调整图层影响的图层一起合成的图层。

将合成导出到 XFL 格式的局限性

在 Flash Professional 打开 XFL 文件时,它必须将所有资源加载到内存中。当您导出其资源将消耗超过 580 MB 的合成时,After Effects 会向您发出警告。同样,如果由于 PNG 序列中的帧数超过 1050 个,因此在 Flash Professional 中打开 XFL 文件将需要很长时间,After Effects 也会向您发出警告如果合成超出这些限制,您仍可以将其导出到 XFL 格式,但是您可能无法使用 Flash Professional 打开 XFL 文件。

注意:

要防止具有大量 PNG 文件的序列需要很长加载时间,请考虑将基于 PNG 序列的图层预渲染为 FLV 格式。

After Effects 依靠 Adobe Media Encoder 的嵌入版本创建 FLV 文件。Adobe Media Encoder 不能创建像素大小大于 1920x1080 的 FLV 文件。

在您从 32-bpc 项目将合成导出为 XFL 格式时,值小于 0 和大于 1 的颜色的渲染结果将不会保留合成在 After Effects 中的外观。如果您打算采用 XFL 格式导出到 Flash Professional,则在创建合成时,应该只在 8-bpc 或 16-bpc 项目中工作。

音频不会导出到 XFL 文件。

将合成作为 SWF 文件渲染和导出

SWF 文件是在 Flash Player 中播放的小文件。它们通常用来在 Internet 上交付动画矢量图形(如漫画)、音频和其他数据类型。SWF 文件还允许查看器交互,例如单击以打开 Web 链接、控制动画,或向富 Internet 应用程序 (RIA) 提供输入。SWF 文件是从 FLA 文件创建的输出。

在渲染影片并将其导出到 SWF 文件时,After Effects 会尽可能多地将矢量图形保留为矢量对象。不过,嵌套合成的栅格图像、混合模式、运动模糊、一些效果以及内容将无法在 SWF 文件中表示为矢量并栅格化。

您可以选择忽略这些不支持的项,以便 SWF 文件仅包含可以转换为本机 SWF 元素的 After Effects 功能,或者您可以选择栅格化包含不支持功能的帧,并作为 JPEG 压缩位图图像将它们添加到 SWF 文件中,但这可能会降低 SWF 文件的效率。

音频采用 MP3 格式编码,并作为音频流添加到 SWF 文件中。

当 After Effects 创建 SWF 文件时,它还会将一个报告 ([SWFfile_name]R.htm) 保存到 SWF 文件所在的同一文件夹。报告还包含 SWF 文件的链接,因此您可以使用 Flash Player 增效工具预览输出。在浏览器中打开报告,以便查看 SWF 文件,并查看合成中的哪些项不受支持。

导出的 SWF 文件包含一次 After Effects 合成中每个未更改的项,然后在每次使用时引用该项。如果某个图层在多个帧中使用,则每次使用时都引用同一对象,即使动画显示图层的变换属性(如位置)也是如此。不过,如果图层的内容发生更改,例如,图层上的蒙版为动画显示,或者图层的源素材项目是视频,则将为显示该图层的每个帧创建一个新对象。如果合成中的多个图层共享同一源素材项目,则将添加一次源,然后对共享该源的每个附加图层引用该源。如果源是 Illustrator 文件,将创建和引用 SWF 影片剪辑。文本字符将作为矢量添加一次然后在所有后续帧上引用,除非您从“填色和描边”选项菜单中选择“在描边上填充”;在这种情况下,字符将作为矢量在每个帧上添加。

注意:

如果对项目启用色彩管理,则颜色将从项目的工作颜色空间转换为输出的 sRGB IEC61966-2.1 颜色空间。此输出颜色空间适用于在 Web 浏览器中显示的影片。(请参阅色彩管理。)

  1. 选择您想导出的合成,然后选择“文件”>“导出”>“Adobe Flash Player (SWF)”。
  2. 输入文件名(确保包括 .swf 扩展名)和位置,然后单击“保存”。
  3. 指定适当的选项,然后单击“确定”。

Chris Jackson 在他的书籍 Flash + After Effects 的摘要中(位于 Focal Press 网站)提供了从 After Effects 渲染和导出 SWF 文件的技巧。

SWF 导出设置

JPEG 品质

指定栅格化图像的品质。品质越高,文件越大。(如果选择“栅格化不支持的功能”,“JPEG 品质”设置将用于导出到 SWF 文件的所有 JPEG 压缩位图图像,包括从合成帧或 Adobe Illustrator 文件生成的位图图像。)

功能不受支持

指定是否栅格化 SWF 格式不支持的功能。选择“忽略”以排除不支持的功能,或选择“栅格化”将所有包含不支持功能的帧作为 JPEG 压缩位图图像渲染,并将其包含在 SWF 文件中。如果选择“栅格化”,SWF 导出程序将栅格化合成(使用 Illustrator 文件或实底作为源素材的图层除外)以及嵌套合成中每个图层的源文件,并启用“折叠变换”。

音频比特率

导出音频的比特率。选择“自动”可获得可供指定的“采样速率”和“通道”设置使用的最低比特率。高比特率会增加文件大小。SWF 文件中的音频是 MP3 格式。

不断循环

指定在播放期间导出的 SWF 文件不断循环。如果您计划通过编写 HTML 代码来控制 Flash Player,从而指定循环,请取消选择“不断循环”。

防止编辑

创建 Flash Professional 之类的应用程序无法修改的 SWF 文件。

包括对象名称

在文件中包括图层、蒙版和效果名称,以用作 ActionScript 程序的输入。选择此选项会增加文件大小。不命名栅格化对象。

每个蒙版分别作为单独的 SWF 对象导出,其名称是图层名称,后跟蒙版名称。如果所有蒙版均使用“差值”模式,则所有蒙版将作为一个 SWF 对象导出,名称为图层名称。每个文本字符将作为单独的 SWF 对象导出。

拼合 Illustrator 图稿

将所有重叠的对象拆分成不重叠的块。如果选择此选项,则不需要在导出之前将 Illustrator 文本转换为轮廓。(此选项支持来自 Illustrator 9.0 或更高版本的源文件。)

拼合 Illustrator 图稿既有优点也有缺点。在拼合 Illustrator 图稿时,文本会正确导出为 SWF 格式,因此您不需要将文本转换为轮廓。重叠的对象将予以移除,以便合成的图层在 After Effects 和 SWF 文件中看起来相同。系统会正确导出末端端点、连接和透明度组,且不包括裁切标记以外的、在 SWF 文件中不可见的图稿。不过,SWF 文件不一定会变小。此外,拼合过程可能会引入不支持的对象,然后忽略或栅格化这些对象,有些对象周围可能会出现白边。对于复杂 Illustrator 图稿,此过程可能非常缓慢、占用大量内存,并且可能不起作用。

包括图层标记 Web 链接

使图层标记的行为与 Web 链接相同。“包括图层标记 Web 链接”选项通过使用图层标记中的信息,向 SWF 文件添加 Web 链接和“获取 URL”动作。此选项还会向具有图层标记的每个 SWF 帧中添加一个帧标签。您可以指定浏览器使用标准目标命令打开 Web 链接的方式(例如,_blank)。(请参阅 Web 链接、章节链接、提示点和标记。)

_blank

将 Web 链接加载到新浏览器窗口中。

_parent

将 Web 链接加载到当前文件正在其中播放的帧的父帧中。

_self

将 Web 链接加载到当前帧中。

_top

将 Web 链接加载到当前窗口最上面的帧中。

_level0

将另一个 SWF 文件加载到级别 0。当前文件通常在级别 0 播放;加载到级别 0 的另一个文件通常替换当前文件。URL 必须引用另一个 SWF 文件。

_level1

如果 URL 引用另一个 SWF 文件,则将另一个 SWF 文件加载到级别 1。

SWF 格式导出支持的功能

图层

After Effects 文本图层作为矢量图形导出到 SWF 格式。不支持下列图层类型和图层切换:轨道遮罩、3D 图层、3D 摄像机、3D 光源、调整图层、形状图层、保留透明度、折叠变换以及运动模糊。不支持“在描边上填充”选项和模糊动画属性,只支持“正常”混合模式。嵌套的合成不受支持,它会被栅格化。

蒙版

只支持具有“相加”蒙版模式或“差值”蒙版模式的蒙版;图层中的多个蒙版必须使用同一蒙版模式。如果指定“相加”模式,还支持部分不透明度和“反转”选项。不支持蒙版羽化。在 SWF 文件中使用“相加”模式和部分不透明度重叠蒙版的结果可能与 After Effects 中的结果不同。(请参阅蒙版模式。)

效果

支持将“路径文本”、“音频波形”和“音频频谱”输出到 SWF 格式。

除以下项外,支持所有“路径文本”选项:“在原始图像上合成”、“在描边上填充”和“差值”模式。

使用“音频频谱”和“音频波形”效果绘制的线条将转换为矢量。将忽略以下不支持的功能:“外部颜色”(仅使用“内部颜色”)、“柔和度”和“在原始图像上合成”。此外,只有粗细均匀的线条包含在 SWF 文件中。例如,如果您在“音频频谱”中选择“使用极坐标路径”选项,远离 After Effects 中心的线条将变粗,但在 SWF 中,线条仍保持同样的粗细。

波形可能会增加 SWF 文件大小,因此减小“音频波形”效果中“显示的范例”值或“音频频谱”效果中的“频段”值或者减小帧速率可使 SWF 文件变小。

分辨率

SWF 文件始终按完整分辨率(合成的大小)创建;JPEG 压缩位图图像按完整分辨率渲染。

Adobe Illustrator 文件

仅支持 CMYK 或 RGB 颜色空间中的描边路径和填充路径。

如果具有 Illustrator 源文件的图层不包含蒙版或未启用“折叠变换”,该图层将转换为相应的 SWF 项。包含蒙版或启用“折叠变换”的 Illustrator 图层将被栅格化。SWF 文件会保留 Illustrator 裁切标记。位于裁切标记外部的图稿将包含在 SWF 文件中,即使它不可见也是如此,因此会增加文件大小。

SWF 导出报告列出 Illustrator 文件中 Illustrator 文件在其中可见的第一帧不支持的功能的信息。将忽略或栅格化素材在其中可见的所有帧上不支持的功能(具体取决于您选择了忽略不支持的功能还是栅格化不支持的功能)。

渲染合成并将其导出为 FLV 或 F4V 文件

FLV 和 F4V 文件只包含基于像素的(栅格化)视频,而不包含矢量图形,因此不具有交互性。

FLV 和 F4V 格式是容器格式,其中每种格式都与一组视频和音频格式相关联。FLV 文件通常包含使用 On2 VP6 视频编解码器编码的视频数据和使用 MP3 音频编解码器编码的音频数据。F4V 文件通常包含使用 H.264 视频编解码器和 AAC 音频编解码器编码的视频数据。

注意:

After Effects CS4 及更低版本也提供使用 Sorenson Spark 视频编解码器对 FLV 文件中的视频数据进行编码的选项。

您可以通过许多不同的方法播放 FLV 或 F4V 容器文件中的影片,其中包括:

  • 将文件导入 Flash Professional 创作应用程序,然后在 SWF 文件中发布视频。

  • 在 Adobe Media Player (AMP) 中播放影片。

  • 使用 Adobe Bridge 预览影片。

注意:

After Effects 标记可以作为提示点包含在输出的 FLV 或 F4V 文件中。要将关键帧或全局属性值从 After Effects 传输到 Flash Professional 创作应用程序,请在渲染和导出 FLV 或 F4V 文件之前,运行 Convert Selected Properties To Markers.jsx 脚本。

就像处理其他格式一样,您可以使用渲染队列将影片渲染和导出到 FLV 或 F4V 容器。(请参阅使用渲染队列渲染和导出影片。)

要在 FLV 输出中包括 Alpha 通道,请使用 On2 VP6 编解码器,在“导出设置”对话框的“视频”选项卡中选择“编码 Alpha 通道”。在对 FLV 文件中的透明度编码时,After Effects 会将通道与黑色预乘。(请参阅 Alpha 通道解释:预乘或直接。)

在您从 32-bpc 项目将合成导出为 F4V 或 FLV 格式时,值小于 0 和大于 1 的颜色的渲染结果将不会保留合成在 After Effects 中的外观。要避免意外结果,您可以在创建打算渲染和导出到 F4V 或 FLV 格式的合成时,在 8-bpc 或 16-bpc 项目中工作。或者,您可以在 32-bpc 项目中工作,将合成渲染并导出到其他格式,然后将输出文件转换为 F4V 或 FLV。

关于 FLV 和 F4V 格式的在线资源

此视频来自 After Effects CS5:视频教程系列,演示了如何导出为 FLV 和 F4V 格式。

Jan Ozer 在 Adobe 开发者中心网站上的“H.264 视频的编码选项”中提供了使用 H.264 视频编解码器对视频进行编码的技术详细信息和提示。

Kush Amerasinghe 在 Adobe 开发者中心网站上的“面向普通用户的 H.264”中提供了 H.264 和 F4V 概述。

Robert Reinhardt 在 Peachpit 网站上的《Video with Adobe Flash CS4 Professional Studio Techniques》(采用 Adobe Flash CS4 Professional Studio 技术的视频)一书摘录的某些章节中提供了有关 Flash Player 视频的信息。在“Compression primer”(压缩入门)中,他详细解释了 On2 VP6 和 H.264 视频编解码器的优势和劣势。

有关 FLV 和 F4V 格式的更多信息,包括 F4V 规范,请访问 Adobe 开发者中心网站

Fabio Sonnati 在 Adobe 开发者中心网站上提供了为移动设备设置 H.264 (F4V) 影片的建议。

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略