规则:减去片段起点
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 | 导出需要登录;免费版每日 3 个项目、每项目最多 100 条字幕(按 UTC 重置) |
常见错误
- 忘了重新编号。 播放器通常能容忍,但有些不行——而且交付审核的人一定会注意到。
- 使用浮点运算。 先转成整数毫秒,相减,再转回时间码。
- 减错了基准。 片段起点是原始时间轴上的一个位置,不是片段的时长。
- 把不同的剪辑版本当成偏移问题。 固定平移无法修复为另一个剪辑版本做的字幕——诊断方式见 字幕不同步指南。
重置整份片段清单
当重置是交付流程的一部分——一份主字幕 SRT、多个片段——把范围写进 CSV,运行 批量 SRT 拆分器:每个片段都会带着重新计时到 00:00 的 SRT、重新编号的字幕,以及一份纯文本 TXT 回来。
重置 SRT 时间码常见问题
- 重置会改写字幕文本吗?
- 不会。只有开始与结束时间码会变化,每条字幕的措辞与主字幕 SRT 完全一致。
- 重置时间码能修复不同步的字幕吗?
- 只有当问题是由剪辑带来的固定偏移时才可以——减去片段起点后一切就对齐了。如果字幕在它所在的位置上读不通,说明这份 SRT 属于另一个剪辑版本。
- 可以按固定偏移平移,而不是归零吗?
- 可以,任何偏移量的算法都一样:新时间码 = 原时间码 − 偏移量。工具通常两种都提供——保留主时间轴,或重置到 00:00。
- 字幕序号需要改吗?
- 需要从 1 重新编号。大多数播放器能容忍序号缺失,但有些不行——而且交付审核的人一定会注意到。这里的每次拆分与重置都会重新编号。
- 相减之后时间码变成负数怎么办?
- 把它归到 00:00:00,000;如果这条字幕只碰到片段边缘,也可以整条排除。由边界策略决定,选择会记录在 manifest 中。
为整份片段清单重置时间码
把片段范围一次性写进 CSV,用一个 ZIP 生成所有片段相对起点、重新计时的 SRT 与 TXT 文件。
批量拆分我的 SRT