视频字幕怎么导出:SRT、VTT、ASS 三种格式与平台限制

视频字幕怎么导出:SRT、VTT、ASS 三种格式与平台限制

字幕做完了,导出时才发现平台只要 SRT,你手里是 ASS;或者导进剪辑软件全是乱码,时间轴整体偏移两秒。视频字幕导出看着只是「点一下另存为」,真正卡人的是格式选错、编码不对、帧率不匹配这三件事。

这篇按「交给谁 → 选什么格式 → 怎么导出 → 出错怎么修」讲一遍,照着做基本不会返工。

一、先看字幕要交给谁

接收方首选格式原因
B 站 / YouTube / 视频号SRT平台通用,上传即识别
网页 <video> 播放器VTTWeb 标准格式,支持定位与样式
Premiere / Final Cut / DaVinciSRT 或 XMLSRT 兼容性最好,XML 保留分轨信息
剪映 / 必剪SRT导入字幕直接生成文本轨
带特效的成片字幕ASS支持字体、颜色、位置、动画
给客户或同事校对纯文本 / Word不带时间码,改起来最方便

一句话:给平台用 SRT,给网页用 VTT,做特效才用 ASS。不确定时先导 SRT,几乎所有工具都认。

二、三种格式到底差在哪

视频字幕导出格式对比:SRT、VTT、ASS 三种字幕文件的结构与用途
格式越复杂,能表达的样式越多,兼容性越差

需要提醒的是:字幕格式不决定画质。字幕是独立文件时叫「软字幕」,观众可开关;烧进画面叫「硬字幕」,改不了、也搜不到。做 SEO 与可访问性,优先软字幕。

三、三条导出路线

视频字幕导出流程:剪辑软件自动字幕生成时间轴并导出字幕文件
自动字幕省的是打字时间,校对时间一点都省不了
  1. 剪辑软件内导出:剪映「文本 → 导出字幕」、Premiere「文件 → 导出 → 字幕」、DaVinci 的「Timeline → Export → Subtitle」。适合已经有字幕轨的项目;
  2. 语音转写生成字幕后导出:先把音频转成带时间码的文本,再导出 SRT。适合没有字幕轨、只有录音的视频;
  3. 在线工具转换:SRT ↔ VTT ↔ ASS 互转。适合格式不兼容时的应急,注意别把未发布的素材传到不明站点。

没有字幕轨的情况,建议先走语音转写再校对,做法见 视频转文字;转写产出的时间码可以直接导出成字幕。

四、导不进去、乱码、偏移:四个高频原因

现象原因解决
中文全是乱码编码不是 UTF-8用编辑器另存为 UTF-8(无 BOM)
提示格式错误时间码用了逗号/点混用SRT 用 00:00:01,000,VTT 用 00:00:01.000
字幕整体提前或延后视频帧率与字幕时间基准不一致按秒数统一平移,或按帧率换算后重新导出
一条字幕被拆成两行乱序文本里有空行,被当成新条目删掉字幕块内部的空行

排查顺序建议:先看编码,再看时间码,最后看帧率。这三步能解决九成问题,比反复换工具快得多。

五、音画不同步怎么修

  1. 确认视频真实帧率(23.976 / 25 / 30 / 60),不要凭感觉选;
  2. 在剪辑软件里把字幕轨与音频对齐,找一个明显的发音点(如掌声、重音)作为基准;
  3. 如果整体偏移固定,直接平移全部字幕;如果越到后面偏得越多,是帧率换算问题,需要按比例缩放时间码;
  4. 修完从头到尾抽三段检查:开头 10 秒、中间、结尾,别只看开头。

六、常见问题

SRT 能直接改成 VTT 吗?

可以,改扩展名不够,还要把时间码里的逗号换成点,并在开头加 WEBVTT 一行。用工具转换更稳妥。

导出的字幕只有文字没有时间码?

说明导出的是纯文本。检查导出选项是否选了「字幕文件」而不是「文本」,或者工具本身不支持时间码。

平台上传字幕后显示「解析失败」?

先确认文件是 UTF-8 编码、时间码格式正确、条目序号连续。三者任一不对都会解析失败。

能不能一条视频带多语言字幕?

可以。分别导出各语言 SRT,在平台后台上传为不同语言轨道;网页端用多个 <track> 标签。字幕文件的使用方法见 SRT 字幕文件怎么用。

小结

视频字幕导出的关键不在工具,而在先确认接收方要什么格式,再保证 UTF-8 编码与时间码规范,最后核对帧率。按这个顺序走,SRT 打天下,VTT 给网页,ASS 留给特效,返工率会低很多。

更多字幕与转写问题,见 字幕制作 栏目。

← 返回首页 更多「字幕制作」