规则:减去片段起点
SRT 文件把字幕定位在完整素材的时间轴上。被裁出的片段从 00:00 开始一条新时间轴,因此每条字幕都要往前挪一个「片段的原始开始时间」:
新时间码 = 原时间码 − 片段起点
代入实际数字就是:
原始字幕: 00:03:45,500 --> 00:03:48,000 片段起点: 00:03:42,000 结果: 00:00:03,500 --> 00:00:06,000
请用整数毫秒做运算——3.5 秒如果存成 3499.99999,会舍入到错误的毫秒。输出使用 HH:MM:SS,mmm 的逗号分隔形式,也就是 SRT 的标准写法。
什么时候该重置到 00:00
- 你从一段长录制里剪出多个片段,每个交付片段都需要一份从零开始的 SRT。
- 客户返回来一个片段,字幕差了好几分钟,但字幕内容本身没问题。
- 你为一段子序列导出了 SRT,希望它以子序列起点而不是主时间轴为基准。
三种重置时间码的做法对比
| 做法 | 优势 | 需要注意 |
|---|---|---|
| 手工处理 | 无需准备,小文件够用 | 相减、重新编号与负数处理要为每条字幕、每个片段重复一遍 |
| FFmpeg | 免费且可脚本化 | ffmpeg -i in.srt -ss <start> -t <dur> out.srt 可以截取范围,ffmpeg -itsoffset -<seconds> -i in.srt out.srt 可以整体前移,但都不会按片段重设基准,也不会替你重新编号 |
| Clip Caption Kit | 输入 CSV,输出可审计的 ZIP | 导出需要登录;免费版包含 1 个项目、最多 200 条字幕 |
常见错误
- 忘了重新编号。 播放器通常能容忍,但有些不行——而且交付审核的人一定会注意到。
- 使用浮点运算。 先转成整数毫秒,相减,再转回时间码。
- 减错了基准。 片段起点是原始时间轴上的一个位置,不是片段的时长。
- 把不同的剪辑版本当成偏移问题。 固定平移无法修复为另一个剪辑版本做的字幕——诊断方式见 字幕不同步指南。
重置整份片段清单
当重置是交付流程的一部分——一份主字幕 SRT、多个片段——把范围写进 CSV,运行 批量 SRT 拆分器:每个片段都会带着重新计时到 00:00 的 SRT、重新编号的字幕,以及一份纯文本 TXT 回来。
重置 SRT 时间码常见问题
为整份片段清单重置时间码
把片段范围一次性写进 CSV,用一个 ZIP 生成所有片段相对起点、重新计时的 SRT 与 TXT 文件。
批量拆分我的 SRT