SRT 转 ASS — 在浏览器中将 SRT 字幕转为 Advanced SubStation Alpha
将 SRT 字幕文件转换为 ASS 格式,完整支持样式。可设置字体、颜色、位置、卡拉 OK 特效,完全在浏览器中完成。
SRT to ASS
Convert SRT subtitles to ASS (Advanced SubStation Alpha) format. Generates a complete ASS script with default styling. Works entirely in your browser.
SRT 是通用的字幕格式 —— 每个视频播放器、每个流媒体平台、每个字幕工具都能读写它。它的长处在于简单:一段序号、一个时间戳范围、文本、外加一个空行。简单同样是它的局限:SRT 根本没有样式的概念。每一行都用播放器的默认字体、放在默认位置、显示成默认颜色。对于字幕组、视频剪辑师,以及任何希望字幕看起来是「精心设计」而不是「默认参数」的人来说,缺失的那一块就是 ASS —— Advanced SubStation Alpha —— 这个由 Aegisub 推广开来、成为样式字幕标准的格式。
从 SRT 转 ASS 的意义,是给原本已经正确的时间数据加上一层样式。SRT 提供字幕条目的时间戳和朗读文本;工具把这些数据包装成一段 ASS 脚本,并加上可配置的样式头部:字体、字号、主色与副色、描边宽度和颜色、阴影深度、对齐锚点和边距。生成结果在时间轴上与源 SRT 完全一致,但在任何基于 libass 的渲染器(FFmpeg、VLC、mpv、Jellyfin、Plex)中,会按所选的视觉样式呈现。整个工具完全在你的浏览器里运行,字幕文件永远不上传服务器。
使用方法
粘贴或拖入你的 SRT 文件
拖入一个 .srt 文件或直接粘贴字幕文本。解析器读取时间块、序号和正文内容。多行字幕条目会被合并为单个 ASS Dialogue 事件。
选择一种样式预设
从内置预设中挑选 —— 默认、经典黄字、白描边,或自定义。每个预设设置字体、字号、主色、描边、阴影、对齐方式和边距。
下载 .ass 文件
生成的 ASS 包含完整的 [V4+ Styles] 区段、带格式化 Dialogue 的 [Events] 区段、以及 [Script Info] 头部。可直接拖入 Aegisub、FFmpeg 或 VLC 使用。
常见问题
ASS 比 SRT 多支持哪些能力?
SRT 只承载时间和纯文本。ASS 在此之上增加了逐行字体选择、颜色、描边宽度和颜色、阴影、对齐方式(上/中/下 + 左/中/右 = 9 种位置)、缩放、间距、旋转,以及用于卡拉 OK 和排版的绘图指令。
转换之后能调整样式吗?
可以 —— 生成的 ASS 文件带有干净的 [V4+ Styles] 区段,其中是预设的数值。在 Aegisub 或任何文本编辑器中打开它,修改样式参数,所有引用该样式的字幕行会同时更新。
会保留 SRT 中的 HTML 标签吗?
加粗(`<b>`)、斜体(`<i>`)和下划线(`<u>`)标签会被转换为 ASS override 码(`{\b1}`、`{\i1}`、`{\u1}`)。颜色标签(`<font color="#rrggbb">`)转为 ASS 颜色 override。不支持的 HTML 标签会被静默剥离。
为什么选 ASS 而不是 SSA?
ASS(Advanced SubStation Alpha)是 SSA(SubStation Alpha)的后继格式,新增了更多样式能力 —— 沿 X/Y/Z 轴的剪切和旋转、绘图指令,以及每个样式独立的编码声明。所有现代字幕渲染器都原生支持 ASS。
限制说明
- 不识别排版样式转换器对每一行应用统一的样式。复杂的排版 —— 逐音节计时、覆盖在原文之上的翻译字幕 —— 需要在转换之后到 Aegisub 中手工完成。
- 不生成卡拉 OK 效果转换器只处理文本和时间,不处理音节级卡拉 OK 计时。如需卡拉 OK 效果,用本工具生成基础 ASS,再在 Aegisub 中添加卡拉 OK 计时。
- 特定格式的特性无法保留SRT 的位置标签(X1/Y1/X2/Y2 坐标,紧跟在箭头之后)会被映射为 ASS 的 \pos override,但映射是近似的,因为 ASS 坐标相对于脚本头部声明的视频分辨率。
平台说明
- macOS
- Aegisub 在 macOS 上可以通过 Homebrew 安装(`brew install aegisub`)。打开生成的 .ass 文件预览样式,再用 FFmpeg 嵌入到视频中。
- Windows
- Windows 上的 Aegisub 是标准的 ASS 编辑器。生成的文件可直接打开 —— 把 Aegisub 设为默认程序后,在资源管理器中双击 .ass 即可。
- Linux
- Linux 上的 FFmpeg 用以下命令烧入 ASS 字幕:`ffmpeg -i video.mp4 -vf "ass=subtitles.ass" output.mp4`。libass 库处理所有 ASS 特性,包括绘图指令。
- Web
- Jellyfin 和 Plex 都通过 libass 原生渲染 ASS 字幕。把 .ass 文件与媒体文件一起上传,即可在不转码的情况下获得带样式的字幕。