MicroDVD
字幕以帧计数,而不是以秒计数:每一行写明它开始和结束的帧,因此只有在制作视频的帧率下,时间才是准确的。该格式得名于 2000 年的 MicroDVD Player,如今仍被 MPlayer、VLC 以及基于 FFmpeg 的播放器读取。
概览
| 扩展名 | .sub |
|---|---|
| 媒体类型 | 未注册 |
| 规范 | 无。由 MicroDVD Player 的习惯形成,被读取它的播放器沿用下来。 |
| 时间精度 | 一帧 |
| 文本编码 | 未声明。通常是其语言所用的 Windows 代码页;Subtitld 会自动检测。 |
| 样式 | 斜体、粗体、下划线、删除线、颜色、字体和大小,通过花括号中的代码设置 |
| 位置 | {P:x,y},少有播放器读取 |
| 说话人 | 无 |
| 所在容器 | 无。与视频同名、放在视频旁边的文件。 |
文件结构
每行一条字幕,各行之间没有空行。
{1}{1}25
{25}{50}Hello!|How are you?
{75}{100}{y:i}Italic|plain
| 部分 | 含义 |
|---|---|
{1}{1}25 |
帧率。播放器会把第一条只包含数字的“字幕”(位于第 1 帧)读作帧率,而不是文本。 |
{25}{50} |
开始和结束的帧。按每秒 25 帧计算,即从第 1 秒到第 2 秒。 |
| |
换行 |
{y:i} |
一个代码:斜体,作用于本行剩余部分 |
按帧计算,而不是按秒
文件中不包含时间,只有帧号。同一个文件在不同的帧率下会得到不同的时间:
| 帧 | 23.976 fps 时 | 25 fps 时 |
|---|---|---|
{25000} |
17:22.7 | 16:40.0 |
帧率错误会导致时间漂移。 帧率不对时,字幕开始时还算准确,但随着影片推进会越来越晚或越来越早:第 25,000 帧时相差 42 秒。如果文件没有声明帧率,Subtitld 会使用视频的帧率。
代码
花括号中的代码用于设置文字样式。小写代码只作用于所在的一行,大写代码作用于整条字幕。
| 代码 | 效果 | 在 Subtitld 中 |
|---|---|---|
{y:i} {y:b} {y:u} {y:s} |
斜体、粗体、下划线、删除线;组合使用时写作 {y:b,u} |
保留 |
{Y:i} |
同上,但作用于整条字幕 | 保留 |
{c:$0000FF} |
颜色,蓝色分量在前:这是红色 | 保留 |
行首的 / |
斜体,MPL2 的写法 | 读取为斜体 |
{f:Arial}、{s:30} |
字体、大小 | 不保留 |
{P:100,50} |
以像素为单位的位置 | 不保留 |
{H:Greek}、{DEFAULT} |
字符集;整个文件的默认设置 | 不保留 |
颜色的顺序是反的。 与 SubStation Alpha 一样,格式为 $BBGGRR:蓝、绿、红。{c:$0000FF} 是红色。
一个扩展名,三种格式
.sub 并不只属于 MicroDVD。Subtitld 会先检查文件内容再决定如何读取。
| 格式 | 文件内容 | 在 Subtitld 中 |
|---|---|---|
| MicroDVD | 文本,以花括号包裹的帧号 | 按 MicroDVD 打开 |
| SubViewer 2 | 文本,时间形如 00:00:01.00,00:00:02.00 |
按 SubViewer 打开 |
| VobSub | 字幕图片,旁边有 .idx 文件 |
不打开:其中没有可编辑的文本 |
VobSub 的 .sub 以图片形式保存 DVD 上的字幕。OCR 工具(例如 Subtitle Edit)可以把它们转换为文本,之后 Subtitld 就能打开了。
Subtitld 中的 MicroDVD
- 每条字幕的文本和换行
- 整行或整条字幕的斜体、粗体、下划线、删除线和颜色
- 开始和结束帧,精确到帧,并按顺序排列
- 一行中部分文字的格式
- 字幕在屏幕上的位置
- 说话人,以及与原文并列的译文
- 配音、说话人的脸和颜色
如需保留这些内容,请保存为 .usfx 项目。
打开 MicroDVD 文件
Subtitld 会读取:
- 文件声明的帧率(
{1}{1}25,或旧文件使用的{0}{0}25),否则使用视频的帧率,再否则使用 25;文件声明的帧率会被保留,以便再次保存; - 小写代码作用到所在行末尾,大写代码作用到字幕末尾;
- 空的结束帧,
{100}{},表示持续到下一条字幕; - 任何编码,包括 Windows-1250 和 Windows-1251;
- 按顺序排列的字幕,无论文件中的顺序如何。
导出 MicroDVD
在 导出 中选择 字幕 和 SUB,会提供以下选项:
- 文本原文、译文,或两者都要,译文位于原文之下。
- 说话人名字不写,或写在文本前(Thom: ……)。
- 格式保留,或去除。
- 时间偏移所有字幕整体提前或推迟相同的时长。
- 编码UTF-8(带或不带字节顺序标记)、UTF-16,或 Windows 代码页:西欧、中欧、西里尔文或韩文。
- 换行符Linux 和 macOS 格式,或 Windows 格式。
- 帧率视频的帧率,或其他帧率;所选帧率会写在文件的第一行。
整条字幕的样式写在开头的大写代码中,整行的样式写在行首的小写代码中。播放器就是在这些位置查找代码的(FFmpeg 会把行中间的代码显示为普通文字),因此一行中部分文字的格式会被写成纯文本。
小知识
Tiamat Software 于 2000 年 3 月发布了 MicroDVD Player,次年便停止了开发。它的字幕格式却比它存活得更久。
[BEGIN],结尾有 [END]。其他播放器会读取两者之间的各行。同一帧在 23.976 和 25 帧每秒下的时间差:到第 25,000 帧时约为十七分钟。
相关格式
在 Subtitld 中打开它,连同视频一起,在波形上重新打轴。