MacCaption 附属数据包传输文件

打开保存广播CEA-608CEA-708

视频字幕按帧存放的方式:每一帧的字幕数据包以十六进制形式,写在其时间码之后。SCC 只保存 CEA-608,而 MCC 保存完整的数据包,即 CEA-608 和 CEA-708 两者。该格式得名于 MacCaption,即制作它的字幕软件。

概览

扩展名.mcc
媒体类型未注册
规范文件本身由 MacCaption 定义,并在其文件头中说明。数据包:SMPTE ST 291 和 ST 334。字幕:CTA-608 和 CTA-708。
时间精度一帧,帧率为每秒 23.976 至 60 帧
文本编码十六进制数字,对重复出现的字节串使用字母表示。字符本身采用 CEA-608 和 CEA-708 的编码。
样式CEA-608 的斜体、下划线和七种颜色;CEA-708 自有的字体、大小和颜色
位置CEA-608 的网格:15 行,每行 32 列;CEA-708 的窗口
说话人格式中没有。字幕制作人员在说话人切换处写入 >>。
所在容器数据包本身,而非文件:SDI 视频的附属数据,以及 MXF 的附属数据轨道

文件结构

文件头之后,每个携带字幕的帧对应一行:时间码、一个制表符,以及该帧的数据包。

File Format=MacCaption_MCC V1.0
 
// Computer Prompting and …
 
Creation Program=Subtitld
Time Code Rate=30DF
 
00:00:22;07 T…FC9420…AB
00:00:22;08 T…FC9420…AB
00:00:22;09 T…FC94AE…AB
  1. 1 · 文件头

    版本号 1.0 或 2.0,之后是 MacCaption 对该格式的说明,每个文件中都完整复制。

  2. 2 · 文件信息

    写入文件的程序和时间,以及时间码计数所用的帧率。

  3. 3 · 时间码

    数据包随之输出的那一帧。

  4. 4 · 数据包

    该帧的字幕数据包,以十六进制表示。其中包含 SCC 文件对该帧会保存的两个 CEA-608 字节:9420、9420、94ae ……

逐字节解析数据包

上面第一行的 T49S494F43ZZ72F4FC9420ROO74ZZ0BAB 完整解析如下:

文件中的内容 含义
T 61 01 一个 CEA-708 字幕的附属数据包
49 计数 之后有 73 个字节
S 96 69 字幕分发数据包开始
49 其长度,73 字节
4F 其帧率:4,即 29.97
43 标志 有字幕数据;字幕服务已开启
ZZ 其编号,每个数据包递增
72 F4 字幕数据 之后有 20 组、每组三个字节的数据
FC9420 第一场 一对 CEA-608 字节:9420,即 SCC 的 RCL
R 第二场 FD 80 80:无内容
OO CEA-708 18 个 FA 00 00:本帧无内容
74 ZZ 页脚 再次写入数据包的编号
0B 字幕数据包的校验和
AB 附属数据包的校验和

无论帧率如何,每秒都是 600 组。 每帧在 24 fps 时携带 25 组,在 25 fps 时携带 24 组,在 30 fps 时携带 20 组;在 23.976 和 29.97 时也同样数量。每组包含两个字节的字幕数据,即每秒 9,600 位。CEA-608 只使用其中一部分,其余的归 CEA-708 所有。

用字母代替字节

每个数据包中都会重复出现的字节串,用一个字母表示。

字母 字节
G 至 O FA 00 00,重复一到九次:CEA-708 中没有内容需要发送
P Q R FB 80 80、FC 80 80、FD 80 80
S 96 69,字幕分发数据包的开头
T 61 01,CEA-708 附属数据包的开头
U E1 00 00 00
Z 00

时间码

文件头中的 Time Code Rate 表示帧的计数方式:24、25、30、30DF(丢帧,帧号前使用 ;)、50 或 60,以及 2.0 版本中的 60DF。23.976 的视频按 24 计数,29.97 的视频按 30 或 30DF 计数:每个数据包中的帧率说明了具体是哪一种。

MCC 还是 SCC?

SCC MCC
保存内容 CEA-608 的字节 每一帧的字幕数据包:CEA-608 和 CEA-708
帧率 29.97 23.976 至 60
每行内容 从某一帧开始的词语,每帧一个词 一帧的数据包

Subtitld 中的 MCC

保留在 .mcc 中
  • 每条字幕的文本,按每行 32 列排列
  • 斜体、下划线和七种颜色
  • 位置:顶部、中部或底部;左、中或右
  • 说话人,以 >> 标记每次切换
  • 开始和结束时间,精确到帧
无法保存
  • 粗体、字体和大小
  • CEA-608 字符集以外的字符,会变为对应的普通字母或 “?”
  • CEA-708 字幕:Subtitld 读写的是 CEA-608 字幕
  • 与原文并列的译文
  • 配音、说话人的名字和脸

如需保留属于 Subtitld 的内容,请保存为 .usfx 项目。

打开 MCC 文件

Subtitld 会读取:

  • 文件头和数据包给出的帧率,以及是否为丢帧;
  • 字母,以及每个数据包的字幕数据;
  • 第一场中的 CEA-608 字幕;若第一场没有,则读取第二场的字幕,以及 CEA-608 自己的附属数据包中的字幕;
  • 2.0 版本时间码之后的场和行。

解码方式与 SCC 相同:弹出式、滚动式和绘制式字幕;斜体、下划线和颜色;行和列则作为字幕的位置。文件的帧率会被保留,以便再次保存时保持原样。如果文件只包含 CEA-708 字幕,Subtitld 会说明原因:目前还不能读取它们。

导出 MCC

Subtitld 的导出对话框,选中了 MCC,说话人以 >> 标记,帧率为视频的 29.97 fps 丢帧

在 导出 中选择 字幕 和 MCC,会提供以下选项:

  • 文本原文或译文。
  • 说话人名字不写,写在文本前(Thom: ……),或在说话人切换处写成 >>。
  • 格式保留,或去除。
  • 时间偏移所有字幕整体提前或推迟相同的时长。
  • 帧率23.976、24、25、29.97(丢帧或不丢帧)或 30:默认为视频的帧率,也可以自行选择。

Subtitld 写出的是 1.0 版本,并完整保留 MacCaption 的文件头。字幕与它为 SCC 写出的弹出式字幕相同,写在第一通道中:每个携带字节对的帧输出一个数据包,第二场以及 CEA-708 的部分则留空。

小知识

35

每个 MCC 文件开头都有若干行注释:MacCaption 对该格式的说明及其使用条款。只要完整保留这些内容,就可以编写该格式的文件。

1986

Computer Prompting & Captioning Co. 公司成立。其字幕软件 MacCaption(用于 Mac)和 CaptionMaker(用于 Windows)于 2013 年随公司一起归入 Telestream。

96 69

每个字幕分发数据包都以这两个字节开头,即 MCC 中的 S。该数据包最初在 CEA-708-B 中定义,如今是 SMPTE ST 334-2。

相关格式

有 .mcc 需要修正吗?

在 Subtitld 中打开它,连同视频一起,在波形上重新打轴。

下载 Subtitld