字幕格式指南

SRT vs VTT vs ASS vs TXT:字幕格式完整对比

从发布平台、网页播放、字幕样式和纯文本转录四个角度选择合适的字幕格式。

更新 2026年8月 约10分钟

这些格式看起来相似,但能保存的信息并不相同。最好的选择通常不是功能最多的格式,而是能够完整保留目标平台所需信息的最简单格式。

快速选择:按用途决定

用途推荐格式原因
YouTube、社交平台、通用交换SRT简单、轻量、兼容性高。
HTML5 和网页视频VTT为浏览器文本轨道设计。
带样式、定位或卡拉OK效果ASS可保存高级样式和位置。
转录文本和内容再利用TXT适合无时间结构的纯文本。

SRT:兼容性优先时的默认选择

SRT 保存编号、开始/结束时间和字幕文字。它容易人工检查,在不需要复杂样式时非常适合作为交换或主文件。

1
00:00:01,000 --> 00:00:04,000
Welcome to our video.
  • 平台和编辑器兼容性很高。
  • 毫秒使用逗号,例如 00:00:01,000。
  • 适合翻译、校对和交付。
  • 不适合可靠保存字体、颜色、动画和精确位置。

VTT:面向网页播放的格式

WebVTT 为浏览器媒体设计,毫秒使用小数点,并可包含 cue 设置、说话人标签和网页相关元数据。

WEBVTT

00:00:01.000 --> 00:00:04.000
<v Speaker>Welcome to our video.

当 HTML5 播放器或目标系统明确需要 WebVTT 时使用 VTT,不必为了“格式更新”而无意义转换。

ASS:当字幕设计也是交付内容

ASS 可以保存字体、颜色、描边、屏幕位置和卡拉OK效果。它适合品牌化或创意字幕,但结构也更复杂。

[Script Info]
ScriptType: v4.00+

[Events]
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Welcome to our video.

如果最终平台不支持 ASS,通常应把样式字幕烧录进视频,或另行提供更简单的字幕格式。

TXT:适合转录文本,不是同步字幕轨

TXT 是纯文本。适合转录、笔记、搜索和内容再利用,但通常没有 cue 时间码,因此本身不是同步字幕格式。

Welcome to our video.
In this tutorial, we explain subtitle formats.

SRT → TXT 会有意删除编号和时间码。TXT → SRT 如果没有其他时间数据,就必须重新生成时间。

功能对比

功能SRTVTTASSTXT
时间 cue通常没有
通用兼容性很高网页中高中等仅文本
高级样式基础高级
精确定位有限基础高级
手工编辑容易容易中等容易
网页播放器最佳少见不适用
样式烧录工作流有限有限最佳不适用
转录文本可用可用较差最佳

转换时会丢失什么?

  • SRT → VTT: 文字和时间通常可以保留,但 WEBVTT 头部和毫秒语法会变化。
  • VTT → SRT: 基础 cue 可正常转换,但 WebVTT 专用设置和元数据可能丢失。
  • ASS → SRT: 文字和时间可保留,但字体、颜色、位置、动画等高级样式通常会丢失。
  • SRT → TXT: 适合生成转录文本,但会删除时间和 cue 结构。
  • TXT → SRT: 如果没有外部时间数据,就需要重新生成时间码。

常见格式错误

  1. 把 TXT 当同步字幕轨: 没有时间码就无法正常与视频同步。
  2. 需要高级设计却只使用 SRT: SRT 更强调兼容性,而不是视觉样式。
  3. 认为 ASS 转 SRT 后样式仍会保留: 文字可能保留,但高级样式通常不会。
  4. 忽略最终平台: 应根据播放器或编辑器真正支持的格式来选择。

稳定的格式工作流

  1. 兼容性优先时先准备干净的 SRT 主文件。
  2. 转换前验证时间和文件结构。
  3. 翻译和修改时尽量保持 cue 时间稳定。
  4. 网页真正需要 WebVTT 时再转成 VTT。
  5. 需要保留可编辑样式和位置时使用 ASS。
  6. 需要转录文本时单独导出 TXT。
  7. 发布前在真实播放器中检查最终文件。

大多数工作流中,SRT 是实用主格式,VTT 专注网页,ASS 专注样式,TXT 专注转录文本。

常见问题

哪种字幕格式最好?

没有一种格式适合所有场景。通用情况下 SRT 是最稳妥的默认选择。

VTT 比 SRT 更好吗?

HTML5 场景通常更合适,但通用交换时 SRT 更简单。

ASS 能保存字体和颜色吗?

可以,还能保存位置和其他高级效果。

ASS 可以转成 SRT 吗?

可以,但高级样式通常会丢失。

TXT 能直接做字幕吗?

只有加入或重新生成时间后才可以;纯 TXT 通常只是转录文本。