ASS 字幕格式规范速查
ASS 文件结构、头部字段、样式定义行、事件行与覆盖标签的完整速查表,配合实际示例与注意事项。
ASS 字幕格式规范速查
ASS(Advanced SubStation Alpha)是字幕组最常用的格式,支持样式、动画、定位等高级特性。这篇整理完整规范速查。
文件结构
[Script Info]
Title: 项目标题
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 1920
PlayResY: 1080
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.709
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, ...
Style: Default,HarmonyOS Sans SC,48,...
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.50,0:00:03.20,Default,,0,0,0,,这是一条字幕
[Fonts]
fontname: harmonyos-sans-sc-bold.ttf
fontdata: [base64 encoded]
[Graphics]
filename: logo.png
picturedata: [base64 encoded]
四个 section 都是可选的,但 [Script Info] 和 [V4+ Styles] 和 [Events] 通常必备。
Script Info 字段
| 字段 | 说明 |
|---|---|
| Title | 工程标题 |
| ScriptType | 脚本版本,必须为 v4.00+ |
| WrapStyle | 换行样式:0=智能换行,1=行尾换行,2=不换行,3=智能换行(行宽更低) |
| PlayResX | 视频宽度(像素),用于样式缩放 |
| PlayResY | 视频高度 |
| ScaledBorderAndShadow | 边框阴影是否按分辨率缩放 |
| YCbCr Matrix | 颜色空间:TV.709(高清)、TV.601(标清)、PC.709、PC.601 |
PlayResX 和 PlayResY 是关键。播放器根据这两个值缩放字幕。如果视频是 4K 但 PlayRes 写 1080p,字幕会被放大 2 倍。
V4+ Styles 字段
Style: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,OutlineColour,BackColour,Bold,Italic,Underline,StrikeOut,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding
字段说明:
| 字段 | 说明 | 示例 |
|---|---|---|
| Name | 样式名 | Default |
| Fontname | 字体名 | HarmonyOS Sans SC |
| Fontsize | 字号 | 48 |
| PrimaryColour | 主色 | &H00FFFFFF(白) |
| SecondaryColour | 副色(Karaoke 未唱到色) | &H000000FF |
| OutlineColour | 边框色 | &H00000000(黑) |
| BackColour | 阴影色 | &H64000000 |
| Bold | 粗体(-1=true, 0=false) | 0 |
| Italic | 斜体 | 0 |
| Underline | 下划线 | 0 |
| StrikeOut | 删除线 | 0 |
| ScaleX | 水平缩放(%) | 100 |
| ScaleY | 垂直缩放 | 100 |
| Spacing | 字符间距 | 0 |
| Angle | 旋转角度 | 0 |
| BorderStyle | 边框样式:1=边框+阴影,3=不透明底 | 1 |
| Outline | 边框宽度 | 2 |
| Shadow | 阴影距离 | 1 |
| Alignment | 对齐(1-9,小键盘位置) | 2 |
| MarginL | 左边距 | 20 |
| MarginR | 右边距 | 20 |
| MarginV | 垂直边距 | 40 |
| Encoding | 字符编码(1=Windows-1252,128=Shift-JIS,134=GB2312,136=Big5) | 1 |
颜色格式 &HABGGRR,注意是 BGR 顺序,不是 RGB。Alpha 在最高位。
Events 字段
Dialogue: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
Comment: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
| 字段 | 说明 |
|---|---|
| Layer | 图层,数字越大越靠上 |
| Start | 起始时间(H:MM:SS.cc) |
| End | 结束时间 |
| Style | 样式名 |
| Name | 说话人名(不显示,仅元数据) |
| MarginL/R/V | 边距覆盖(0=使用样式默认) |
| Effect | 效果(如 Karaoke) |
| Text | 字幕文本(支持覆盖标签) |
Comment 行不显示,用于注释或保留未使用的内容。
覆盖标签
覆盖标签用 {...} 包裹,影响后续文本:
颜色
| 标签 | 说明 |
|---|---|
\1c&HBBGGRR& |
主色 |
\2c&HBBGGRR& |
副色 |
\3c&HBBGGRR& |
边框色 |
\4c&HBBGGRR& |
阴影色 |
\1a&HAA& |
主色透明度 |
\alpha&HAA& |
全部透明度 |
字体
| 标签 | 说明 |
|---|---|
\fn字体名 |
字体 |
\fs字号 |
字号 |
\b权重 |
粗体(0=否,1=是,100-900=权重) |
\i0/1 |
斜体 |
\u0/1 |
下划线 |
\s0/1 |
删除线 |
\fscx百分比 |
水平缩放 |
\fscy百分比 |
垂直缩放 |
\fsp像素 |
字符间距 |
\frx角度 |
X 轴旋转 |
\fry角度 |
Y 轴旋转 |
\frz角度 |
Z 轴旋转 |
位置
| 标签 | 说明 |
|---|---|
\an1-9 |
对齐方式(小键盘) |
\pos(x,y) |
绝对定位 |
\move(x1,y1,x2,y2,t1,t2) |
移动动画 |
\org(x,y) |
旋转中心 |
\fad(t1,t2) |
淡入淡出(毫秒) |
\fade(a1,a2,a3,t1,t2,t3,t4) |
高级淡入淡出 |
边框
| 标签 | 说明 |
|---|---|
\bord像素 |
边框宽度 |
\xbord像素 |
X 边框 |
\ybord像素 |
Y 边框 |
\shad像素 |
阴影距离 |
\xshad像素 |
X 阴影 |
\yshad像素 |
Y 阴影 |
动画
\t(t1,t2,accel,标签) 在 t1-t2 毫秒内动画到指定标签:
{\fscx0\fscy0\t(0,200,\fscx100\fscy100)}从无到有放大
accel 是加速度,0-1 减速,1 匀速,>1 加速。
Karaoke
\k时长 标记一个音节,时长是百分之一秒:
{\k20}多{\k30}想{\k40}在
播放时从左到右逐音节高亮。
注意事项
- ASS 文件必须是 UTF-8 编码,不能有 BOM
- 反斜杠
\是转义字符,要表示反斜杠本身用\\ - 大括号
{}是标签分隔符,字幕文本里不能直接用 - 颜色值不区分大小写,但建议统一大写
- 时间戳精度 0.01 秒,超过的会被截断
字体嵌入
字体可以嵌入到 ASS 文件,避免播放端缺字体:
[Fonts]
fontname: harmonyos-sans-sc-bold.ttf
fontdata: [base64 encoded binary data]
但会让文件变得很大,不推荐。更常见的做法是单独打包字体文件,让观众安装。
ASS 是字幕组的基础语言。
翻译理论札记
写到这里想插入一段翻译理论的思考。奈达的功能对等强调译文读者读到译文时的反应,应当与原文读者读到原文时的反应基本一致,这意味着翻译不是字面替换,而是要在目标语里重新构造等值效果。我们做字幕,观众在屏幕前只有几秒钟读完一行字,反应时间被严重压缩,所以功能对等在字幕里被推到了极端——可读性优先于忠实度。
纽马克的区分更实用:交际翻译关注译文效果,语义翻译关注原文意义。字幕绝大多数时候走交际翻译路线,但遇到关键术语、专有名词、文化负载词时又要切回语义翻译,避免观众被误导。这两条路线在字幕里不停切换,做久了会形成直觉。
韦努蒂的归化异化是另一条轴线。归化是让译文流畅得像目标语原创,异化是保留原文的陌生感。日漫字幕里大量保留"前辈""学园""王道"等词就是异化,因为这些词在中文语境里已经形成了稳定的亚文化共识,强行归化反而失味。但纪录片、欧美剧的台词又需要强归化,否则观众跳戏。题材决定策略,没有一招通吃的方案。
—— 这些理论看起来抽象,但实际做字幕时每天都在用,只是未必意识到。把直觉变成方法论,是新人到熟手的分水岭。