aspose.info
ZH

TTML2 文件 - 定时文本标记语言 2 - 什么是 TTML2 文件以及如何打开它?

更新于

什么是 TTML2?

Timed Text Markup Language 2 (TTML2) 是一种基于 XML 的语言,旨在表示定时文本媒体,例如字幕和标题。它作为标准化格式用于在各种平台和系统之间交换、创作和分发定时文本内容。

TTML2用于:

  • 互换:促进不同创作系统之间的定时文本信息交换。
  • 转码:将定时文本内容转换为字幕和标题中使用的各种传统分发格式。
  • 分发:作为一种分发格式本身,例如通过在 HTML5 文档的 <track> 元素或 SMIL 3.0 文档的 <text> 或 <textstream> 媒体元素中引用 TTML 内容。

系统模型

TTML2在系统模型中运行,该模型包括创作、转码、分发和呈现过程。它定义了两类处理器:

  1. 转换处理器:用于创作系统和验证处理器。
  2. 呈现处理器:用于转码系统和渲染处理器。

这些处理器可以实现到 TTML 中间文档的映射,从而实现与各种媒体格式和技术的集成。

文档结构

典型的 TTML2 文档包括:

  • <tt>:根元素。

    • <head>:包含元数据、样式和布局信息。

      • <metadata>:包括文档级元数据,如标题和版权。
      • <styling>:定义样式规范。
      • <layout>:指定布局区域。
    • <body>:包含定时文本内容,引用样式和布局。

例如:

<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
  <head>
    <metadata/>
    <styling/>
    <layout/>
  </head>
  <body/>
</tt>

示例:

以下是一个简单的 TTML2 文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
    xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xml:lang="en">
  <head>
    <styling>
      <style xml:id="s1" tts:fontSize="16px" tts:color="white" tts:backgroundColor="black"/>
    </styling>
    <layout>
      <region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 10%"/>
    </layout>
  </head>
  <body region="bottom">
    <div>
      <p begin="00:00:01.000" end="00:00:04.000" style="s1">
        Hello, this is an example of TTML2 subtitles.
      </p>
      <p begin="00:00:05.000" end="00:00:08.000" style="s1">
        These captions are timed and styled.
      </p>
    </div>
  </body>
</tt>
  • <p begin="..." end="...">:显示带有时间的字幕文本。
  • <style> 和 <region>:定义文本出现的方式和位置。
  • <tt>:TTML2 文档的根元素。

与 TTML1 的区别

TTML2若干增强了 TTML1,包括:

  • 扩展功能:支持东亚语言、立体 3D,以及详细映射到 HTML 和 CSS。
  • 改进的模块化:在规范中更好的组织和关注点分离。
  • 更新的语法:对语言语法进行细化,以提高清晰度和一致性。

TTML1 到 TTML2 的更改详细摘要可在 TTML2 更改摘要中查看。

采纳与行业支持

TTML2 已被多个组织和标准机构采纳和支持,包括:

  • Netflix
  • Microsoft
  • BBC
  • Apple
  • MovieLabs
  • European Broadcasting Union (EBU)

这些贡献者在 TTML2 的开发和实现中发挥了重要作用。

TTML2 文件的关键特性

特性描述
文件扩展名.ttml, .dfxp, .xml
完整名称定时文本标记语言 第2版
MIME 类型application/ttml+xml
格式类型基于 XML 的结构化文本格式
开发者万维网联盟(W3C)定时文本工作组
主要优势对全球文字、动画、嵌入资源以及专业广播需求的全面支持
最新规范TTML2 第二版 W3C 推荐快照(2021年3月)
宏支持否(纯 XML 标记,无可执行代码)
开放标准是(W3C 推荐,完整文档的开放标准)

如何打开 TTML2 文件?

您可以使用不同的工具打开和查看 TTML2 文件,具体取决于您是想读取文本、编辑内容还是将其显示为字幕。TTML2 文件是 基于 XML 的,因此可以在任何文本或 XML 编辑器中打开,但要 播放或测试 这些字幕,需要兼容的工具。

查看或编辑

使用任意 文本编辑器:

  • Windows:记事本或 Notepad++
  • Mac/Linux:TextEdit 或 VS Code

只需 右键单击文件 → 打开方式 → 选择您的编辑器。

作为字幕播放(配合视频)

大多数媒体播放器并不直接支持 TTML2。您需要使用以下工具将其 转换为 SRT 或 WebVTT:

  • Subtitle Edit(Windows 免费应用)

在网站上使用

在 <video> 标签中这样使用:

<track src="captions.ttml" kind="subtitles" label="English" srclang="en">

注意:大多数浏览器不直接支持 TTML。请转换为 WebVTT 以获得更好的兼容性。

常见问题

Q1:TTML1 与 TTML2 有何区别?

A:TTML2 添加了 TTML1 缺失的主要功能,包括对东亚语言的支持(ruby、竖排文字、强调),连续动画,嵌入资源(图像、字体、音频),以及立体 3D 支持。

Q2:我可以在网页浏览器中打开 TTML2 文件吗?

A:大多数浏览器无法原生渲染 TTML2 字幕。对于网页交付,请将 TTML2 转换为 WebVTT 格式,它对 HTML5 元素的支持更好。

Q3:哪些软件可以创建 TTML2 文件?

A:专业字幕工具如 EZTitles 提供 TTML2 导出,而任何文本编辑器都可以创建基本的 TTML2 文件,因为它们基于 XML。转换时,Subtitle Edit 和 FFmpeg 是常用选项。

Q4:流媒体服务如 Netflix 是否使用 TTML2?

A:是的,Netflix 是 TTML 开发的关键贡献者,并在字幕交付中使用基于 TTML 的配置(尤其是 IMSC)。该格式已在流媒体行业广泛采用。

Q5:TTML2 文件是否同时支持图像和文本?

A:是的,TTML2 同时支持光栅图像(作为前景或背景)和文本。IMSC 图像配置提供了一种使用 PNG 图形交付基于图像的字幕的标准化方式。

参考

要深入了解和获取技术细节,您可以参考完整的 TTML2 规范: