SSA 字幕格式
这种格式能表达什么
- 文本样式
- 字体、颜色、描边、阴影
- 屏幕定位
- 是
- 卡拉 OK 计时
- 是
- 字幕条内换行
- 是
- 时间轴
- 每条字幕都有开始与结束时间
- 时间精度
- 10 毫秒
- 时间以帧号存储
- 否
- 从右到左的文字
- 是
示例
一份典型的 SSA 文件,以及从里面读出了什么
文件
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
从中读出了什么
3 cues, 4 lines of text
0:00:01.00 → 0:00:04.00
Hello there.
[Default]
0:00:05.00 → 0:00:08.00
Italic line. [italic ×1]
[Default]
0:00:09.00 → 0:00:12.00
Two
lines
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)右栏不是转换后的文件,而是本站从左栏读出来的内容,也是这份文件进行任何转换时的起点。
一份别扭的 SSA 文件,仍然读出了什么
文件
[Script Info]
Title: Dirty SSA
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.从中读出了什么
2 cues, 3 lines of text
0:00:01.00 → 0:00:04.00
Bold and underlined. [bold ×1, underline ×1]
[Default]
0:00:05.00 → 0:00:08.00
A soft
break and a {\p1}mystery{\p0} code.
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)
events 1 Comment: line — stored, never displayed真实文件里常见 BOM、Windows 换行、时间码前多一行、时间码根本读不出来。这些都不会抛异常:读不懂的部分会被报告,而不是悄悄丢掉。
把 SubStation Alpha (SSA) 转成其他格式
每一个都完全在你的浏览器里运行。标签标明了那个方向要付出什么代价,打开之前就能看到。
这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。
- 时间
- 样式
- 定位
- 卡拉 OK
- 换行
- 格式专有内容
转换为此格式
- SubRip (SRT) → SubStation Alpha (SSA)
- WebVTT (VTT) → SubStation Alpha (SSA)
- Advanced SubStation Alpha (ASS) → SubStation Alpha (SSA)
- YouTube SBV → SubStation Alpha (SSA)
- SAMI (SMI) → SubStation Alpha (SSA)
- LRC Lyrics → SubStation Alpha (SSA)
- MicroDVD → SubStation Alpha (SSA)
- TTML (Timed Text) → SubStation Alpha (SSA)
- SubtitleMatrix JSON → SubStation Alpha (SSA)
- Plain Text (TXT) → SubStation Alpha (SSA)
- CSV Spreadsheet → SubStation Alpha (SSA)
这一页是 SSA(SubStation Alpha,v4.00)格式的说明页:它能存什么、不能存什么,以及本站能从它转出的 11 种格式。上方的能力表就是全部清单,没有藏着没写的特性。
SSA 是一份脚本,不是一个 cue 列表。它由三段组成:[Script Info] 放全局设置,[V4 Styles] 放样式表(字体、字号、颜色、描边、边距),[Events] 放每一条字幕。每条字幕是 Dialogue 行,行首字段写 Marked=0 这一对键值,时间形如 0:00:04.13,只到百分秒。正文里的覆写标记写成 {\i1} 这种形状,逐字卡拉OK 计时也写在这里。
它比大多数格式装得多:样式可以按名字引用,也可以在正文里单独覆写,一条字幕能同时是斜体、上色并且指定位置。但脚本里对渲染器的指令,目标格式没有渲染器时就只能丢掉——这正是每个转换页在打开文件之前就先列出有损清单的原因。
它与 ASS 的关系是同一族的两代写法:SSA 的事件首字段是 Marked,ASS 换成 Layer;SSA 的样式段叫 [V4 Styles],ASS 叫 [V4+ Styles] 并在 [Script Info] 里标 ScriptType: v4.00+;SSA 用 TertiaryColour,ASS 用 OutlineColour。除此之外,两边的 Dialogue 行写法相同,所以 SSA 转 ASS 是这一族里唯一无损的方向。
所有转换都在浏览器里完成,文件不上传、不注册,保密协议下的素材、病历或未播出的节目带也一样。可以一次拖入整季,串行处理,最后打包成一个 ZIP。
常见问题
SSA 字幕格式的 [V4 Styles] 段写的是什么?
写样式表:每一行是一个具名样式,字段有字体、字号、主色、次色、三级色(TertiaryColour)、背景色、粗体、斜体、描边、阴影、对齐方式、左右与垂直边距、AlphaLevel 和编码。Dialogue 行按样式名引用它。
SSA 字幕格式里 Marked=0 这个字段是做什么的?
它是 [Events] 段的首字段,SSA v4 用它标记事件。这里一条普通字幕就是 Marked=0;同一位置在 ASS 里换成了 Layer 列,数字表示叠放层级。
SSA 字幕格式与 ASS 差在哪三处?
事件首字段(Marked 对 Layer)、样式段名与脚本头([V4 Styles] 对 [V4+ Styles] 加 ScriptType: v4.00+)、颜色列名(TertiaryColour 对 OutlineColour,另加 ASS 的 AlphaLevel)。只是骨架不同,Dialogue 的写法与时间轴相同。
SSA 字幕格式能存哪些样式字段?
字体、字号、四组颜色、粗体、斜体、描边样式与宽度、阴影、对齐、三条边距和 AlphaLevel 都在样式表里;粗体、斜体、下划线、颜色与位置还能在正文里用覆写标记逐条指定。
SSA 字幕格式的 Comment: 行会显示出来吗?
不会。Comment: 是存下来但不显示的事件,读文件时会保留在事件表里并计入“cue 模型之外的构造”,转换到 SRT 这类格式时会被丢掉并计入有损清单。
SSA 字幕格式转成哪种格式不丢东西?
只有 ASS。两边 Dialogue 行写法相同,转换只重写脚本头、样式段名与样式列;其余 10 个方向都会丢东西,每一页各自列出清单。