SRT 文件是什么?和 VTT 有什么区别
SRT 文件(.srt)是纯文本格式的字幕文件,按顺序列出每一条字幕:编号、起止时间和要显示的文字。 VTT 文件(.vtt,WebVTT)是同一思路的网页版,HTML5 视频播放器用的就是它。两种文件都能用记事本打开、在 VLC 里播放,互相转换也只要几秒。
SRT 这个名字来自 SubRip——早年一个从 DVD 里提取字幕的 Windows 小工具。这个格式能流行到今天,就是因为简单: 人人都能手动看懂、手动修改,几乎所有播放器、剪辑软件和视频平台都支持。
SRT 文件是什么?
下面是一个完整、合法的 SRT 文件,包含两条字幕:
1 00:00:01,000 --> 00:00:04,000 Where were you last night? 2 00:00:04,500 --> 00:00:07,250 I was at the station. <i>Waiting for you.</i>
- 序号(
1、2):字幕编号,从 1 开始往上数。 - 时间行(
00:00:01,000 --> 00:00:04,000): 开始和结束时间,格式是 时:分:秒,毫秒。注意 SRT 在毫秒前用的是逗号;中间的箭头是两个减号加一个大于号,两边各有一个空格。 - 文字:一两行台词。很多播放器还认
<i>(斜体)、<b>(粗体)这类简单标签。 - 空行:表示这条字幕结束。少了空行,播放器常会把两条并成一条,或者干脆读不下去。
SRT 格式就这么多。它不包含视频、字体或颜色,只有文字和时间,所以文件很小,出了问题也好修。
VTT(WebVTT)文件是什么?
WebVTT(Web Video Text Tracks)是网页上的字幕格式:HTML5 的 <track> 标签加载的就是它, 很多在线视频平台和网课平台也收 VTT。YouTube 两种都能上传。同样两条字幕写成 VTT 是这样:
WEBVTT NOTE Optional comment 1 00:00:01.000 --> 00:00:04.000 Where were you last night? 00:00:04.500 --> 00:00:07.250 line:10% align:center I was at the station.
- WEBVTT 文件头:第一行必须是
WEBVTT,没有的话浏览器不认。 - 毫秒前用句点:
00:00:01.000,不是逗号。小时可以省略(00:01.000)。 - 序号可有可无:上面第二条就没有编号。
- 字幕设置:写在时间后面,比如
line:10% align:center,可以把字幕挪到画面上方或调整对齐。 - 其他功能:
NOTE注释、STYLE样式块,以及标注说话人的<v Anna>标签。
SRT 和 VTT 的区别(顺带说说 ASS)
| SRT(.srt) | WebVTT(.vtt) | ASS / SSA(.ass) | |
|---|---|---|---|
| 第一行 | 序号 1 | WEBVTT | [Script Info] 段 |
| 时间格式 | 00:00:01,000(逗号) | 00:00:01.000(句点) | 0:00:01.00(精确到百分之一秒) |
| 序号 | 必须有 | 可选 | 没有 |
| 位置和样式 | 只有简单标签 | 字幕设置、CSS 样式 | 完整支持:字体、颜色、位置、特效 |
| 适合 | 播放器、剪辑软件、日常分享 | HTML5 视频、网页播放器、网课 | 动漫字幕组、卡拉 OK、特效字幕 |
翻译方法对比表
简单说:给桌面播放器、电视、剪辑软件用 SRT;放到网站或网页播放器上用 VTT;需要花字、特定位置时才用 ASS,一般用 Aegisub 制作。
SRT 文件怎么打开
只想看看内容
它就是纯文本。Windows 上右键 → 打开方式 → 记事本;Mac 上右键 → 打开方式 → 文本编辑(TextEdit)。 别用 Word 打开,一保存就可能改掉换行和编码。
配着视频看
- 直接拖:在 VLC 里播放视频,把 .srt 拖进窗口。
- 菜单加载:VLC 里选 字幕 → 添加字幕文件。
- 同名放一起:把
movie.mp4和movie.srt放在同一文件夹,VLC 等大多数播放器会自动加载。
.vtt 在 VLC 里也是同样的用法;在浏览器里,VTT 由网页的视频播放器加载,不是直接打开的。
怎么制作和编辑 SRT 文件
在纯文本编辑器里写字幕
照着上面的例子写:序号、时间行、文字、空行。Mac 上先把 TextEdit 切成纯文本(格式 → 制作纯文本)。
保存为 .srt,编码选 UTF-8
记事本里「保存类型」选「所有文件」,文件名写 movie.srt,编码选 UTF-8。 不然可能存成 movie.srt.txt,或者中文在别的设备上变成乱码。
对着视频测试
在 VLC 里加载,看字幕是否按时出现。
几条字幕手打时间码没问题,整部视频就该用字幕软件了:免费的 Subtitle Edit(Windows) 可以边播放边打起止时间,还会提示时间重叠。已经有文字稿?用 TXT 转 SRT把每行变成一条字幕,先填上占位时间,再自己微调。
SRT、VTT、TXT 怎么互转
下面这些工具都在浏览器里运行,免费、无需注册:
- SRT 转 VTT:加上 WEBVTT 文件头、逗号换成句点,给网页播放器用。
- VTT 转 SRT:给桌面播放器和剪辑软件用。
- SRT 转 TXT:去掉序号和时间码,只留台词。
- TXT 转 SRT:把文字稿变成字幕文件。
- 字幕格式转换:以上功能集中在一个页面。
SRT 常见问题和解决办法
- 乱码(中文变成「�」、方块或一堆看不懂的符号):编码不对,多半是存成了 GBK 之类的旧编码。 用能切换编码的编辑器(如 Notepad++ 的「编码」菜单)打开,换到文字显示正常的编码,再转成 UTF-8 保存。
- 整体不同步,从头到尾差同样的时间:用字幕平移工具整体前移或后移。 如果越往后差得越多,说明字幕是按另一个帧率做的,用字幕帧率转换修正。
- 一行太长,或者导入剪辑软件后变成一整行、下面孤零零挂一两个字:用字幕自动换行拆成长度均衡的两行。
- 播放器不认文件:检查后缀是不是真的 .srt(而不是 .srt.txt)、时间码用的是逗号、每条字幕后面都有空行。 .vtt 少了 WEBVTT 文件头也会这样。
怎么翻译 SRT 或 VTT 字幕
把字幕文件整个粘进通用翻译工具,时间码很容易被当成文字一起「翻译」坏。字幕翻译工具会识别每条字幕,只翻台词, 交回的文件编号和时间轴都不变。SRT 用 SRT 翻译器,VTT 用VTT 翻译器。前 30 行可以免费预览,导出时可以只要译文,也可以导出双语字幕。
常见问答
SRT 文件是什么?
SRT(SubRip Subtitle)是一种纯文本字幕格式。每条字幕是一个带编号的段落:起止时间(00:00:01,000 --> 00:00:04,000)加一两行文字,段落之间空一行。几乎所有播放器、剪辑软件和视频平台都能读取。
.vtt 文件是什么?
.vtt 是 WebVTT(Web Video Text Tracks)字幕文件,网页 HTML5 视频用的字幕格式。内容和 SRT 很像,但第一行必须是 WEBVTT,毫秒前用的是句点(00:00:01.000),还能写位置、对齐方式等设置。
SRT 和 VTT 有什么区别?
正文几乎一样。VTT 需要 WEBVTT 文件头,时间戳用句点而不是逗号,序号可有可无,还支持位置、样式和注释。SRT 更简单,桌面播放器和剪辑软件兼容性更好;VTT 是浏览器用的格式。两者互转几秒钟就能完成。
SRT 文件用什么打开?
只是看内容的话,用任何文本编辑器(Windows 记事本、Mac 的 TextEdit)打开即可。要配着视频看,就在 VLC 播放视频时把 .srt 拖进窗口,或者把它和视频放在同一文件夹并取相同的文件名(movie.mp4 和 movie.srt),播放器会自动加载。
怎么制作 SRT 文件?
在纯文本编辑器里按格式(序号、时间行、文字、空行)一条条写,保存为 .srt 后缀、UTF-8 编码即可。字幕多于几条时,用免费的 Subtitle Edit 等软件更方便,可以边看视频边打时间点。
SRT 字幕显示乱码怎么办?
文件保存时用的编码和播放器预期的不一样,常见于中文字幕存成了 GBK 等旧编码而不是 UTF-8。用能选择编码的文本编辑器打开,换到文字显示正常的那个编码,再另存为 UTF-8。