视频帧率变了吗?上传 SRT 或 VTT 文件,将所有时间戳按新的 FPS 比例重新调整。
字幕会在你的浏览器中本地处理,无需上传。
当字幕不是从头到尾都固定早一点或晚一点,而是随着视频播放越来越不同步时,就需要进行 FPS 转换。这通常发生在字幕文件是为另一个视频版本制作的情况,例如字幕基于 24 FPS,而新视频是 25 FPS。
帧率转换改变的不是单个起点,而是整条时间轴。如果素材被加速或放慢,24 FPS 视频和 25 FPS 视频的时长可能并不相同。因此普通的时间平移不够用:开头看起来可能差不多同步,但几分钟后误差会明显变大。
转换器不会猜测,而是使用简单的数学缩放。每个开始时间和结束时间都会乘以原始 FPS 与目标 FPS 的比例。
示例:如果将字幕文件从 24 FPS 调整到 25 FPS,系数为 24 / 25 = 0.96。原本在 10:00,000 的字幕会移动到 09:36,000。整条字幕轨道会按比例被压缩。
这些数值经常出现在电影、PAL、NTSC、流媒体和剪辑流程中。如果不确定转换方向,可以参考这张表。
| 从 FPS | 到 FPS | 系数 | 典型场景 |
|---|---|---|---|
| 23.976 | 24 | 0.9990x | 电影或流媒体素材被整理为标准 24 FPS。 |
| 24 | 25 | 0.9600x | 电影字幕需要匹配 PAL / 欧洲版本视频。 |
| 25 | 24 | 1.0417x | PAL 字幕需要重新匹配 24 FPS 电影版本。 |
| 29.97 | 30 | 0.9990x | 接近 NTSC 的素材被标准化为 30 FPS。 |
| 30 | 29.97 | 1.0010x | 30 FPS 字幕需要匹配 29.97 FPS 素材。 |
漂移在开头往往看起来很小,但会随着每一分钟变大。这正是 FPS 转换不同于简单平移几毫秒的原因。
600 秒 × 24 / 25 会变为 09:36,000。差值是 24 秒。这种不断增长的偏差就是字幕漂移。 如果整部视频中的所有字幕都固定早或晚同样的时间,就不需要 FPS 转换,只需要固定偏移。如果误差会随着时间增大,FPS Converter 才是正确工具。
| 问题 | 合适工具 | 原因 |
|---|---|---|
| 字幕在整部视频中都晚了例如 2 秒。 | Subtitle Time Shifter | 偏移量是固定的,只需要整体加上或减去。 |
| 开头是同步的,但到结尾明显不同步。 | Subtitle FPS Converter | 需要按比例拉伸或压缩整条时间轴。 |
整个转换过程都通过浏览器中的 JavaScript 本地执行。你的 SRT 或 VTT 文件不会上传到我们的服务器。工具会读取时间戳,计算 FPS 系数,然后写出一个开始和结束时间都已调整的新文件。
常见视频帧率包括:许多流媒体和接近 NTSC 的电影源使用 23.976,电影母版常用 24,PAL 和欧洲版本常用 25,NTSC、广播和在线流程常见 29.97 或 30。
如果字幕不是逐渐漂移,而是在整部视频中始终固定早或晚同样的时间,就不需要 FPS 转换。使用 Subtitle Time Shifter 可以把所有时间戳整体移动一个固定值。
打开 Subtitle Time Shifter将 SRT 或 VTT 字幕文件拖入工具,或点击选择文件。
输入字幕制作时使用的 FPS,以及目标视频的 FPS。
点击“转换帧率”,查看预览,然后下载同步后的字幕文件。
它会按比例缩放所有字幕时间戳,使字幕匹配不同帧率或不同时长的视频。
当视频素材从一个帧率转换到另一个帧率时,实际时长可能会改变。字幕时间也需要按相同比例调整。
工具支持 SubRip(.srt)和 WebVTT(.vtt)。VTT 文件保留毫秒点号格式,SRT 文件使用逗号格式。
在 VLC 中打开“工具 > 媒体信息 > 编解码器详情”即可查看。也可以使用 MediaInfo、Premiere Pro、DaVinci Resolve 或 Final Cut Pro。
不是。时间平移是在所有位置加同一个值。FPS 转换会缩放整条时间轴。24 → 25 FPS 时,每个时间值都会乘以 0.96。
这就是典型的 FPS 漂移。因为字幕文件和视频使用了不同的时间轴,误差会随着时间不断增大。
可以。漂移修正后,如果字幕仍然固定早一点或晚一点,可以继续使用 Subtitle Time Shifter 微调。