ASS 字幕样式入门指南 | AllSubConverter
大多数字幕格式只是带时间戳的纯文本。ASS(Advanced SubStation Alpha)不同 — 它是一门完整的字幕样式语言,可以控制字体、颜色、描边、阴影、屏幕位置,甚至逐音节的卡拉OK动画。它是动漫字幕组、卡拉OK视频和专业视频后期制作的常用格式。本指南将带你了解基础知识,让你能为字幕制作出精致而非默认的样式。
将普通 SRT 字幕转换为可自定义的 ASS 文件 — 免费,在浏览器中即可完成。
转换 SRT 为 ASS →ASS 文件的结构
ASS 文件中与样式相关的部分有两个。第一个是 [V4+ Styles] 区域,定义可复用的样式模板 — 可以把每个样式想象成字幕的 CSS 类。第二个是 [Events] 区域,每行对话通过名称引用其中一个样式,并可以用内联覆盖标签在之上叠加额外的格式。
样式定义是一长行逗号分隔的字段。以下是一个典型的默认样式:
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,48,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,2,1,2,30,30,40,1
看起来很复杂,但每个字段只控制一个视觉属性。本指南的其余部分将它们分组讲解。
颜色 — 主色、描边色和背景色
ASS 每个样式使用四个颜色字段,首先需要知道的最重要的一点是:它们是 BGR 而非 RGB,前面带一个 alpha 通道。颜色代码的格式为 &HAABBGGRR,其中 AA 是 alpha(00 = 完全不透明,FF = 完全透明)。
- PrimaryColour — 文本的主要填充色。这就是你通常认为的"字幕颜色"。
- SecondaryColour — 用于卡拉OK:音节被高亮之前开始的初始颜色。
- OutlineColour — 每个字形周围描边的颜色。
- BackColour — 投影的颜色,或使用 BorderStyle 3 时的背景框颜色。
| 代码 | 含义 |
|---|---|
&H00FFFFFF | 不透明白色 |
&H000000FF | 不透明红色(BGR!) |
&H0000FF00 | 不透明绿色 |
&H00FF0000 | 不透明蓝色 |
&H80FFFFFF | 半透明白色 |
&HFFFFFFFF | 完全透明 |
常见陷阱:因为 ASS 以 BGR 存储颜色,
&H0000FF是蓝色而非红色。如果你的字幕颜色不对,交换红色和蓝色字节再试一次。
字体、粗细和倾斜
Fontname 和 Fontsize 字段如其名所示。Bold、Italic、Underline 和 StrikeOut 是二进制字段 — 用 -1 表示开,0 表示关。可靠的跨平台字体选择包括 Arial、Helvetica、Open Sans、Roboto 和 Noto Sans;如果你选了一个不常见的字体,播放器在未安装该字体时会回退到默认字体。
Style: Default,Arial,48,... (正常)
Style: Title,Bebas Neue,64,... (大标题)
Style: Whisper,Arial,42,...,-1 (末尾的 -1 开启粗体)
描边和阴影提升可读性
两个字段控制文本的边缘处理。Outline 是每个字形周围的描边像素宽度,Shadow 是投影的偏移距离。BorderStyle 决定这些字段的含义:1 表示描边加阴影(默认值,可读性最好),3 将文本后面的区域变成不透明背景框。
Outline: 2, Shadow: 1— 干净、可读的默认设置,适合大多数内容。Outline: 4, Shadow: 2— 粗描边,适合低对比度画面。BorderStyle: 3— 实心背景框,适合复杂画面上的字幕。
对齐和定位
Alignment 字段使用数字键盘表示法,数字 1 到 9 对应屏幕位置,就像键盘数字小键盘:
7 8 9 (顶部行)
4 5 6 (中间)
1 2 3 (底部行)
2 是经典的底部居中字幕位置,8 将文本放在顶部(适用于标题或说话者标签),5 将文本在屏幕中央居中。MarginL、MarginR 和 MarginV 字段则以像素为单位从对齐边缘向内微调文本位置。
五个即用样式
以下是五个实用样式,可以直接粘贴到 [V4+ Styles] 区域中。每个都是完整的 Style: 行。
- 现代简洁字幕 — 白色文本、2px 黑色描边、微弱阴影、底部居中:
Style: Modern,Arial,52,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,2,1,2,30,30,40,1 - 卡拉OK高亮 — 粗体、粗描边,适合颜色填充效果:
Style: Karaoke,Arial,48,&H00FFFFFF,&H0000FFFF,&H00000000,&H80000000,-1,0,0,0,100,100,0,0,1,3,2,2,30,30,50,1 - 顶部标题 — 固定在顶部的大标题:
Style: TopTitle,Bebas Neue,64,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,3,1,8,60,60,30,1 - 斜体旁白 — 灰色斜体,适合画外音:
Style: Narration,Arial,42,&H00CCCCCC,&H000000FF,&H00000000,&H80000000,0,-1,0,0,100,100,0,0,1,1,1,2,40,40,35,1 - 粗体黄色字幕 — 经典电影字幕外观:
Style: Caption,Arial Black,38,&H00FFFF00,&H000000FF,&H00000000,&H80000000,-1,0,0,0,100,100,0,0,1,2,1,2,30,30,40,1
内联覆盖标签
样式应用于整行,但 ASS 还允许你用花括号包裹的标签在行中途覆盖格式。这些标签用于改变单个词的颜色、将一行推到不同的位置,或构建卡拉OK时序。下表列出了你最常用的标签。
| 标签 | 作用 | 示例 |
|---|---|---|
{\b1} / {\b0} | 粗体开 / 关 | {\b1}重要{\b0} |
{\i1} / {\i0} | 斜体开 / 关 | {\i1}低语{\i0} |
{\u1} / {\s1} | 下划线 / 删除线 | {\u1}注意{\u0} |
{\c&HBBGGRR&} | 设置主色 (BGR) | {\c&H0000FF&}红色 |
{\3c&HBBGGRR&} | 设置描边色 | {\3c&H000000&}黑色描边 |
{\fnName} | 切换字体 | {\fnGeorgia}衬线体 |
{\fsN} | 切换字号 | {\fs64}大字 |
{\anN} | 设置对齐(数字键 1-9) | {\an8}顶部标题 |
{\pos(x,y)} | 固定到精确像素位置 | {\pos(320,50)}标题 |
{\move(x1,y1,x2,y2)} | 在整条字幕时间内动画移动位置 | {\move(50,50,300,50)} |
{\fad(in,out)} | 淡入淡出(毫秒) | {\fad(300,200)} |
{\frxN} / {\fryN} / {\frzN} | 绕轴旋转(度) | {\frz15}倾斜 |
{\kN} / {\kfN} | 卡拉OK时序(厘秒) | {\kf20}词 |
动画基础
三个标签承载了 ASS 中大部分的运动。{\fad(in,out)} 在指定的毫秒数内淡入淡出一行 — 非常适合柔和的标题出现。{\move(...)} 在整条字幕时间内将一行从一组坐标滑到另一组坐标,这就是让文本从侧面飘入的方式。{\t(...)} 是通用变换标签,可以随时间插值任何其他标签,让你在行中途放大、旋转或重新着色文本。
卡拉OK效果使用 {\k} 系列。{\k20} 为一个音节保留 20 厘秒,并在正确的时刻将其从次要色切换到主色。{\kf} 产生大多数人联想到卡拉OK视频的那种平滑填充扫描效果。
从 SRT 开始
如果你的字幕目前是 SRT,获得带样式结果的最快路径是先将其转换为 ASS,然后编辑 [V4+ Styles] 区域。转换会保留每一行和时间戳,因此你只需关注外观。我们在 SRT to ASS 样式教程中涵盖了该端到端工作流。
需要避免的常见错误
- ✓ 使用 RGB 而非 BGR。记住
&H0000FF是蓝色而非红色。 - ✓ 忘记 alpha 通道。始终在颜色前包含两位 alpha 数字。
- ✓ 过度样式化。在每一行上叠加变换、旋转和阴影会损害可读性 — 克制看起来才专业。
- ✓ 忽略字体可用性。如果播放设备上未安装该字体,播放器会静默替换为其他字体。
- ✓ 未在多个播放器中测试。VLC、mpv 和 MPC-HC 渲染 ASS 的方式略有不同;请在多个播放器中检查输出结果。
开始为你的字幕添加样式
一旦你有了带样式的 ASS 文件,每个支持 ASS 的播放器(大多数都支持)都会完全按照你的设计渲染字幕。将你的 SRT 转换为 ASS,放入上面的即用样式之一,然后从那里迭代。
最后更新:2026 年 3 月 20 日