跳到主要内容
SubtitleMatrix

字幕拉伸匹配视频

时间轴按比例缩放整条时间轴
或者粘贴字幕文本

选项

视频有多长,可以用毫秒、秒或时码写(1500、24m、00:24:00,000 都可以)。比例由文件本身算出:先量出最后一条字幕在屏幕上消失的时刻,再把它拉伸或压缩到这个长度。当你知道要匹配的版本时长、而不知道比例时,用这个。

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

填写 目标时长 后才能运行。

填入视频有多长,这一页替你算出比例。字幕文件的长度从文件本身测量——取其中最大的结束时间——再把每个时间戳乘以“目标除以该长度”。不用自己算百分比,最后一条字幕会落在视频结尾,而不是它碰巧停下的地方。

测量用的是文件里最大的结束时间,不是列表最后一条的结束时间。真实文件里两者常常不同:一句旁白可能开始得早、横跨后面几条短对白,所以结束最晚的不是写得最晚的那条。用错一条会得到一个偏差等于两者之差的错误比例,这种误差往往只在剧集最后几分钟才显形。

目标框接受你手头任何一种长度写法:毫秒、带 s 或 m 后缀的秒与分钟,或完整时间码。最后一种表示的是长度而不是时间轴上的时刻,所以这里填的是时长而不是开始时间。

目标更短时文件被压缩而不是拉伸,没有模式需要切换,文件对视频太长只是同一问题的另一个方向。一切从零点量起,所以第一句对白之前的片头会跟着缩放——如果片头必须不动、只有结尾要改,应该用固定偏移或两定点同步,而不是比例。

SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV 都按真实内容读取;纯文本与 LRC 被拒绝,因为它们不存结束时间,文件无从测量。全程在浏览器标签页里完成,一整季的剧集可以排队处理,一个字节都不离开本机。

示例

八秒文件对十秒视频

输入

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

2
00:00:05,000 --> 00:00:08,000
Second line.

输出

1
00:00:01,250 --> 00:00:03,750
Hello there.

2
00:00:06,250 --> 00:00:10,000
Second line.

目标长度 00:00:10,000,比例是 10 除以文件的 8 秒——一又四分之一,完全不用手算。最后一条字幕精确落在十秒,因为比例就是按那一刻量出来的;第一条则按它离零点的距离移动四分之一。

文件对视频来说太长

输入

1
00:00:00,000 --> 00:00:10,000
A long opening line.

2
00:00:02,000 --> 00:00:03,000
Short.

3
00:00:04,000 --> 00:00:05,000
Also short.

输出

1
00:00:00,000 --> 00:00:06,000
A long opening line.

2
00:00:01,200 --> 00:00:01,800
Short.

3
00:00:02,400 --> 00:00:03,000
Also short.

十秒文件目标设 6s,这是压缩方向,比例 0.6。文件有十秒长是因为第一条字幕在那里结束,而不是写得最晚的那条——它的结束只在五秒处,用它测量会得到 1 的比例并把文件原样退回。压缩会挤压每条字幕,阅读速度上升,文字没有任何变化。

常见问题

字幕文件本身有多长,页面是怎么量出来的?

页面会自己量:取文件里最大的结束时间作为文件长度,你只需要提供视频长度。想在运行前知道数字,计时规范的文件通常最后一条接近它,但一条横跨几条短字幕的长字幕会让两者不同。

目标时长比文件短时,字幕拉伸匹配视频会怎么做?

文件被压缩而不是拉伸,不需要切换到另一个模式。10 分钟的文件目标 6 分钟,会乘 0.6,每条字幕保留 60% 的屏幕时间。每行阅读速度因此上升,把压缩后的文件交给广播机构前值得先跑一次阅读速度检查。

只想让结尾对上,为什么第一条字幕也动了?

因为比例乘的是离零点的距离。第一条在一分钟处、整体拉伸 1.5 倍的文件,现在从一分半开始,无声片头跟着对白一起被拉长。如果片头固定、只有尾部不对,那不是比例问题:用固定偏移,或用两定点同步把某个选定时刻钉住。

目标时长可以用分钟或时间码填写吗?

可以。输入框接受纯毫秒数、90s 或 24m 或 1h2m 这样的时长,以及 00:24:00,000 这样的完整时间码,四种写法意思相同,没有哪种更正确。用手头视频工具显示的那种写法即可,把数字重新抄成另一种形状正是转录错误的来源。

拉伸后还是对不齐,还可能是什么问题?

如果一端对上了而中间没有,说明文件被剪过或视频重剪过,需要用那两个时刻做两定点同步;如果每条字幕都晚同样的量,那是固定偏移,归平移页管;如果偏差只在帧率转换之后出现,帧率专页会直接从帧率出发,而不是从测量出的比例出发。

目标时长留空会怎样?

运行不会开始,页面会提示必填字段缺失。这是有意的:任何默认值都是真实长度,没看输入框就拖入文件运行,文件会被悄悄拉到一个没人选择的长度,而输出里没有任何说明。按钮旁边会显示页面从文件量到的长度,方便你在确认前对比。

相关工具