CEA-608 与 CEA-708 隐藏式字幕
北美电视的隐藏式字幕。CEA-608 源自模拟电视:每帧两个字节,位于画面的第 21 行。CEA-708 是它的数字后继者,支持窗口、颜色和多种服务。数字广播的每一帧同时携带两者。Subtitld 可以从视频中读取它们,并写入 SCC 和 MCC 文件。
概览
| 规范 | CTA-608(原为 EIA-608,后为 CEA-608)和 CTA-708(原为 CEA-708)。在数字视频中,遵循 ATSC A/53 第 4 部分。 |
|---|---|
| 传输方式 | 在视频的帧中,位于 QuickTime 的 c608 独立字幕轨道中,以及 SCC 和 MCC 文件中 |
| 时间精度 | 一帧 |
| 字符 | CEA-608:自有的拉丁字符集。CEA-708:ASCII、Latin-1、若干符号,以及 16 位字符。 |
| 样式 | CEA-608:斜体、下划线、七种颜色。CEA-708:斜体、下划线、64 种颜色、字体、大小、边缘和背景。 |
| 位置 | CEA-608:15 行、每行 32 列的网格。CEA-708:最多八个窗口,锚定在 75 行的网格上。 |
| 频道 | CEA-608:CC1 至 CC4。CEA-708:最多 63 个服务。 |
| 说话人 | 标准中没有。字幕制作人员在说话人切换处写入 >>。 |
一帧中的字幕数据
每一帧携带若干组、每组三个字节的数据。每组的第一个字节说明另外两个字节的用途。
FC 94 2F FD 80 80 FF 42 22 FE 89 01 FA 00 00 …
- 1 · 接下来的内容
FC是 CEA-608 的第一场,FD是第二场。FF开始一个 CEA-708 数据包,FE继续传送该数据包。 - 2 · CEA-608
每个场两个字节。
94 2F表示 CC1 中加载了一条字幕;80 80表示无内容。 - 3 · CEA-708
一个数据包,每次两个字节:其包头(
42,长四个字节),一个服务块(22,服务 1,两个字节),然后是89 01,即窗口 0 的 DisplayWindows。 - 4 · 余量
该帧其余的数据组,不携带内容。29.97 fps 时每帧有 20 组,24 fps 时有 25 组,25 fps 时有 24 组。
字幕占用每秒 9,600 位。 数字广播的字幕通道为伴随传送的 CEA-608 保留 960 位,转换盒会把它们传给模拟电视;其余 8,640 位用于 CEA-708。
CEA-608:四个频道
这些字节与 SCC 文件中保存的相同:命令和字符,每帧两个字节,屏幕为 15 行、每行 32 列。画面的两个场各携带两个字幕频道。
| 频道 | 位置 | 用途 |
|---|---|---|
| CC1 | 第一场,第一通道 | 节目的字幕 |
| CC2 | 第一场,第二通道 | 另一种语言,或无内容 |
| CC3 | 第二场,第一通道 | 常用于第二种语言 |
| CC4 | 第二场,第二通道 | 很少使用 |
CEA-708:窗口和笔
CEA-708 服务以窗口绘制:最多八个窗口,每个窗口都有其位置、大小、行数和样式,并可以显示、隐藏、切换和删除。笔在窗口中书写,可设置斜体、下划线和颜色。以下命令用于加载并显示一条字幕:
| 字节 | 命令 |
|---|---|
98 18 DA 32 70 13 09 |
DefineWindow 0 隐藏状态,位于屏幕底部居中,距底部 90%、距左侧 50%,一行 20 列 |
88 01 |
ClearWindows 清空窗口 0 |
97 C0 00 0E 00 |
SetWindowAttributes 窗口背景无填充,文本居中 |
92 00 00 |
SetPenLocation 第 0 行,第 0 列 |
90 05 00 |
SetPenAttributes 标准大小,直立,无下划线 |
91 3C 00 00 |
SetPenColor 黑底黄字 |
59 6F 75 … |
You're a jerk, |
90 05 00 91 3F 00 00 |
再次设置笔 黑底白字 |
20 54 68 … |
Thom. |
89 01 |
DisplayWindows 窗口 0,在字幕开始的那一帧显示 |
窗口的锚点是九个点之一,即其四角、四边的中点和中心。这九个位置与 Subtitld 中字幕可以放置的九个位置相同。
| 字符集 | 内容 |
|---|---|
| G0 | ASCII,但删除字符为 ♪ |
| G1 | Latin-1:西欧语言的重音字母 |
| G2 | 其他一些字符:… ‘ ’ “ ” • ™ Š Œ ⅛ ⅜ ⅝ ⅞ 以及制表符 |
| P16 | 16 位字符,韩文字幕使用 |
视频中的字幕
| 位置 | 由谁写入 | Subtitld 如何读取 |
|---|---|---|
| 帧中:MPEG-2 用户数据、H.264 和 HEVC SEI | 数字广播,以及对其的录制(.ts) |
解码视频,需要多长时间就花多长时间 |
字幕轨道(c608) |
QuickTime 格式的发布文件 | 立即读取 |
| SCC 文件 | 广播和流媒体的交付文件 | CEA-608 |
| MCC 文件 | 广播交付文件,由 MacCaption 制作 | 先读 CEA-708,否则读 CEA-608 |
Subtitld 中的 CEA-608 / 708
- 每条字幕的文本和换行
- 斜体和下划线
- 颜色:CEA-608 为七种,CEA-708 为 64 种
- 位置:顶部、中部或底部;左、中或右
- 说话人,以
>>标记每次切换 - 开始和结束时间,精确到帧
- 粗体(两者都没有)
- CEA-708 的字体、大小、边缘和窗口背景
- 同时存在多个服务或频道:需要逐个读取
- 与原文并列的译文
如需保留属于 Subtitld 的内容,请保存为 .usfx 项目。
读取视频中的字幕
它提供以下选项:
- 字幕视频中最先出现的字幕,CEA-708 优先;或 CEA-708 的服务 1 至 6;或 CEA-608 的 CC1 至 CC4 频道。
- 范围整个视频、视频中的一段,或所选字幕,与转录功能相同。
Subtitld 按解码器的方式解码字幕。在画面外加载并显示的字幕,会一直作为一条字幕,直到被隐藏、清除或替换。逐行实时写在屏幕上的字幕,每一行成为一条字幕,直到下一行开始。时间从视频开始处计算。如果视频中没有字幕,Subtitld 会说明原因。
广播录像通常为 .ts、.m2ts 或 .mts 文件,Subtitld 会把它们作为视频打开。
写入字幕
Subtitld 可以写出广播机构和平台所接受的字幕文件:
小知识
自 2002 年 7 月 1 日起,在美国销售的数字电视(最小的型号除外)都必须能解码 CEA-708 字幕:至少是六个标准服务。
CEA-708 服务同时最多可拥有的窗口数,每个窗口都有自己的位置、大小和样式。CEA-608 只有一个屏幕。
CEA-708 的扩展字符中,包含隐藏式字幕的标志本身:即标示带字幕节目的 CC 符号。
相关格式
在 Subtitld 中打开它,把字幕读入时间线,然后在波形上修正并重新定时。