SRT 转 ASS:给字幕加上样式
平台要求字幕带描边、换字体、贴到画面底部以上,SRT 就不够用了。ASS 把"长什么样"从纯文本里拆出来,变成一组可以单独设置的样式字段。先看懂 Style 行,再决定怎么转。
SRT 为什么做不到样式
SRT 只负责"什么时候显示什么字",不携带任何外观信息。字号、颜色、描边、位置全交给播放器默认样式决定,你改不了。
一旦你想要的呈现是:
- 黄字黑描边,在复杂画面上也能看清
- 换特定字体匹配品牌调性
- 把说话人字幕定位到画面左侧或右侧
这些都要靠 ASS(或某些播放器私有的样式扩展),SRT 表达不了。
ASS 的 Style 行在控制什么
ASS 在文件头用 [V4+ Styles] 定义一套样式,每个字段对应字幕的一个外观维度:
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Outline, Shadow, MarginV
Style: Default,Arial,36,&H00FFFFFF,2,1,40
常用字段含义:
- Fontname / Fontsize:字体与字号
- PrimaryColour:文字颜色(ASS 用
&HBBGGRR反转的十六进制) - Outline:描边宽度,数值越大边越粗
- Shadow:阴影偏移
- MarginV:距画面下边缘的距离,用来把字幕往上挪
同一份 ASS 可以挂多个 Style,不同说话人套不同样式。SRT 完全不具备这套结构。
这些字段组合起来的效果,是"同一份字幕文件在不同播放器上长一样"。SRT 做不到这点,因为播放器各自决定外观。如果你的成片要在多个渠道分发(网站、App、下载版),用 ASS 锁定样式能避免"同一句话在不同地方字号不一"的观感割裂。
做法一:在线转换后补样式
如果只是想把现有 SRT 变成带基础样式的 ASS,用 SmileSub 的 SRT 转 ASS 工具 即可,不用登录:
- 上传 SRT 文件
- 等待解析,生成带默认样式的 ASS
- 下载 ASS,条目数与时间轴保持不变
生成出来的是合法、可播放的 ASS。免费额度为单文件不超过 1MB、不超过 500 条字幕,每个工具每个 IP 每天 3 次。如果默认样式不合意,再在支持 ASS 的编辑器里微调字段即可。不求一步完美,先跑通再迭代。
如果你只是想把口播稿快速变成能播的带样式字幕,在线一步到位比装编辑器再导出的链路短得多,也少踩格式坑。
做法二:手动编辑样式字段
需要精细控制时,直接改 [V4+ Styles] 里的字段最直接:
- 想加重描边,把
Outline从 1 调到 2 或 3 - 想换字体,改
Fontname - 想把字幕抬高,减小
MarginV
MarginV 调小会让字幕上移,但要留出画面安全区,别被平台的内容遮挡条盖住。改动后建议先播一段确认效果。若你后续还要把字幕烧录进视频成片,可以在本站直接用生成的 ASS 进行烧录。
手动改字段时有个常见坑:ASS 的颜色写法是 &HBBGGRR,蓝绿红顺序和常见的网页十六进制相反,直接照搬取色器的值会变色。不确定时先用工具生成的默认样式跑通,再小步微调,每次只改一个字段、播一段确认,比一次改一排更高效。
关于烧录与软字幕的取舍,可以看 《硬字幕还是软字幕?》 这篇。
两种做法怎么选
| 你的情况 | 建议 | 主要代价 |
|---|---|---|
| 只要合法带样式的 ASS | 在线转换 | 几乎为零 |
| 要精确控制每个字段 | 手动编辑样式 | 要懂字段含义 |
核心区别只在"要不要自己调字段"。大多数场景默认样式已经够用。
另外提醒:ASS 的样式在网页端 <video> 里不一定生效,浏览器原生播放对 ASS 支持有限;要在网页呈现样式,通常得先烧录成片。
如果你拿到的是 VTT 而不是 SRT,需要先回到 SRT 转 VTT 工具 的反向思路,或者确认源格式再决定转换方向。
常见问题
ASS 能直接当 SRT 用吗?
不能反向通用。ASS 的样式信息 SRT 表达不了,很多只认 SRT 的平台会忽略或报错。需要 SRT 时走 SRT 转 VTT 或重新导出。
描边设多大合适?
没有统一标准,取决于画面复杂度与播放尺寸。常见做法是 Outline 1 到 3 之间,配合阴影提升可读性。在复杂背景上宁可描边粗一点,也不要为了好看牺牲清晰。
在线工具生成的样式能改吗?
能。生成的 ASS 是标准格式,任意支持 ASS 的编辑器都能打开改字段。在线工具负责把结构和时间轴做对,样式微调交给本地编辑器更灵活。