跳到主要内容
SubtitleMatrix

23.976 转 25 帧修正

时间轴帧率转换
或者粘贴字幕文本

选项

时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。

你要拿字幕配套的那个版本的帧率 —— 也就是你实际要播放的视频。套用的系数是第一个框除以这一个,所以 24 转 25 得到 0.96:影片在 PAL 上快 4%,100 分钟的片子正好装进 96 分钟的磁带。两个框填反了,整条时间轴会朝错误的方向偏移同样的量。

这一页把按 23.976 fps 版本计时的字幕放到 25 fps 的 PAL 版本上。每个时间戳乘以 23.976 除以 25,即 0.95904,整条时间轴提前 4.096%,每条字幕也缩短 4.096%。两个框已经填好,文件若不是按这个帧率计时就改掉它们。

只要一部为美国市场制作的电影在欧洲发行,就会遇到这一对。24 fps 拍摄的电影装在 NTSC 信号里以 23.976 fps 传送——也就是 24000/1001,所有 NTSC 帧率都带的那个奇怪除数——而 PAL 版本以 25 fps 重放同样的画面。画面相同、帧数相同,改变的是播放速度,字幕时间必须按同样速度重放。

4.096% 与干净的 24 到 25 那一对的 4% 不同,差别不是纸上谈兵:每小时 3.5 秒,95 分钟的片子差 5.5 秒。该用哪一对,取决于文件按什么计时,而不是视频看起来像什么——23.976 的碟和 24 帧母版是两种东西,本组各有专页。

比例作用的是“离零点的距离”,所以 1 秒处的字幕只移动 41 毫秒,45 分钟处的移动 1 分 51 秒;每条字幕两端都移动,两秒的字幕只剩 1.918 秒。文件不上传,整季一次排队跑完;SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV 都按真实格式读取,不看扩展名。

示例

一短一长两条字幕

输入

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:01:00,000 --> 00:01:02,000
One minute in.

输出

1
00:00:00,959 --> 00:00:02,877
Hello there.

2
00:00:57,542 --> 00:00:59,460
One minute in.

0.95904 就是 23.976 除以 25。1 秒处的字幕少 41 毫秒,1 分钟处的少 2458 毫秒——离零点六十倍远,就移动六十倍。每条两端都乘,所以第一条的两秒变成 1.918 秒,第二条的两秒也一样。

误差与时钟成正比

输入

1
00:45:00,000 --> 00:45:02,000
Forty-five minutes in.

2
01:00:00,000 --> 01:00:02,000
An hour in.

输出

1
00:43:09,408 --> 00:43:11,326
Forty-five minutes in.

2
00:57:32,544 --> 00:57:34,462
An hour in.

45 分钟处早 1 分 51 秒,1 小时处早 2 分 27 秒。这正是转换前就能认出这一对的依据:开头接近正确、结尾差出几分钟,而且误差按同一速率增长。固定偏移永远修不好,比例可以。

常见问题

23.976 帧率为什么不是精确的 24?

它是 24000 除以 1001,比 24 略慢。原因在 NTSC:美国彩色电视需要 29.97 帧,而 29.97 是 30000/1001,于是所有必须装进 NTSC 信号的东西都继承了 1001 这个除数。装在 NTSC 里的电影因此跑在 24000/1001,而不是 24,这就是这一对与干净的 24 到 25 不同的原因。

23.976 转 25 的系数为什么是 0.95904?

因为系数是 23.976 除以 25:每个时间戳保留 95.904%,时间轴提前 4.096%。100 分钟的片子出来是 95 分 54 秒,而不是 24 到 25 那种整 96 分钟;每条字幕在屏幕上少 4.096% 的时间。两个帧率按这个顺序填:先填文件计时的那个,再填将要播放的那个。

美版影片字幕配欧版 PAL 碟,该用 23.976 转 25 吗?

只要手里的美版确实是 23.976 的影片载体,就是这一页。欧版碟是 25 fps PAL,字幕必须按它的速度重放,系数 0.95904。如果文件是按真正 24 帧的电影母版计时,要的是 24 到 25,系数 0.96;这里的两个框都接受,但专页解释的是不同情形。

23.976 转 25 只改时间还是也会改文字?

只改时间。文字、换行以及格式携带的样式都原样保留;若文件在读取阶段本身丢了什么,有损说明会告诉你——单纯的帧率转换不丢弃任何内容。改变的是每条字幕少 4.096% 的显示时间,因此每行阅读速度相应上升,原本接近上限的行可能超限。

用 0.96 代替 0.95904 会让字幕差多少?

每小时约 3.5 秒,95 分钟的片子约 5.5 秒,而且始终偏早、越到结尾越大。这个量级小到像取整误差,又大到屏幕上看得见,所以两页分开存在。不确定文件按哪个帧率计时时,转换后看残差:用错配对会留下逐渐增长的偏差,用对则没有。

PAL 版本真的快了 4% 吗?

帧率从 24 升到 25,提高了 4.167%,时长因此降到 96%,人们说的 PAL 加速是后一个数。23.976 下帧率提高 4.271%、时长减少 4.096%,比整数说法略多。这里真正相关的是时长,因为字幕时间轴按时间计量,不按帧计量。

相关工具