为什么需要帧率换算
同一部影片可能有 25fps 与 23.976fps 两种发行版本:欧洲电视标准是 25fps,电影原生是 23.976fps。两个版本的总时长不同(25fps 版更快、更短),按帧号记录的时间码也不同。字幕只有跟着片源的帧率走才不会漂移。
三种模式的区别
- 时间码换算:同一个绝对时刻,在不同帧率下重新表达。例如 25fps 时间码 00:00:10:12 表示第 10.48 秒,在 24fps 下应写作 00:00:10:11。时长不变,只是写法变了。
- 帧率补偿:画面内容不变、播放速度变了,时长随之改变。换算关系是「新时间 = 原时间 × 原帧率 ÷ 目标帧率」。25fps 版转到 23.976fps 版时系数约为 1.0427,整段字幕变长。
- 整份 SRT 换算:把补偿按条应用到整份字幕,逐条改写时间轴。这是把 25fps 字幕配到 23.976fps 片源上最常用的做法。
丢帧时间码
29.97fps 与 59.94fps 的整数时间码与真实时间存在累积误差,广播行业用「丢帧」写法校正:除每 10 分钟的第一分钟外,每分钟跳过前 2 帧(59.94 跳 4 帧)。丢帧时间码用分号作最后一级分隔符(00:01:00;02),不丢帧用冒号或点号。工具会自动识别分号,也可手动切换。
注意
- 本工具处理的是「帧率不同导致的时长差」,若字幕只是整体早晚偏移几秒,用站内的字幕平移工具更直接。
- SRT 的时间戳本身是绝对毫秒,与帧率无关,因此整份 SRT 换算走的是补偿模式(改变时长),不是重写格式。
你可能还想问
25fps 的字幕配到 23.976fps 片源上,为什么字幕会越来越晚?
因为 23.976fps 版本是按帧慢放,总时长比 25fps 版长约 4.27%。字幕按 25fps 时序对齐时,越靠后的字幕偏差越大:片尾可能相差数十秒。用「整份 SRT 换算」按原帧率 25、目标帧率 23.976 做一次补偿即可,整段时长会按 25 ÷ 23.976 ≈ 1.0427 拉伸。
丢帧和非丢帧时间码的结果为什么要差几秒?
这是两者的定义差异,不是错误。29.97fps 的「整数时间码」每秒按 30 帧计数,一小时会累积约 3.6 秒误差;丢帧写法通过每分钟跳帧校正,使时间码与真实时间一致。换算到 29.97 输出时请按交付要求选择是否丢帧,广播与影视交付通常要求丢帧。
23.976 的时间码为什么按 24 帧算?
这是 SMPTE 的惯例:23.976fps 属于 24 帧家族,时间码按每秒 24 帧计数,用帧号表达画面位置,真实秒数则按 23.976 计算。所以帧号可以到 23,但一秒略长于 1 秒。本工具同时给出帧号与真实时长,两者都对得上。
换算后字幕还是不同步怎么办?
先确认片源真实帧率(有些标注 23.976 的文件实际是 24.000),再看是否是片头被剪导致的整体偏移。可先用本工具做帧率补偿,再用字幕平移工具做几秒以内的微调;若偏差呈线性增长,说明帧率还没配对,属于补偿系数不对,需要重新确认源帧率。
速查在线工具箱