跳到主要内容
SubtitleMatrix

字幕按时间分割文件

时间轴按时间裁剪与分割
或者粘贴字幕文本

选项

一个时长 —— 600000、10m 和 00:10:00,000 都表示十分钟。文件会从开头起按这个间隔切开,每条字幕归入覆盖它开始时刻的那一份。跨过切点的字幕整条留在前一份里;不含任何字幕的那一份不会输出。

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

这一页按时间把一份字幕文件切成几个文件。设定每段长度(默认十分钟),每条字幕都进入覆盖它开始时刻的那一份:0 到 10 分钟进第一个文件,10 到 20 分钟进第二个,依此类推。没有任何重新计时,也没有一行文字被编辑;各份就是同样的字幕在固定切点处分开。

分段以零点为锚,而不是以第一条字幕为锚。第一条字幕在十秒黑屏之后才到的文件,仍然在十分钟、二十分钟处切,因为找第三部分的人看的是影片的时钟,而不是第一句对白。

跨过切点的字幕不会被一分为二。它属于开始所在的那一份,整条带着自己的起止时间过去——按时间比例切分它的文字,等于把猜测当作规则。一段覆盖自己的开启瞬间而不覆盖关闭瞬间,所以正好从切点开始的字幕进入即将开始的那一份,任何字幕都不会同时出现在两个文件里。

一次点击无法连续下载多个文件——浏览器只保留第一个——所以各段被打包成一个以你的文件名命名的 zip。zip 里第一部分保留原名,其余按出现顺序命名为 .part-2、.part-3。全部在浏览器标签页内完成,文件没有一个字节离开它。SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、CSV 都接受。

示例

四条字幕切成十秒一段

输入

1
00:00:01,000 --> 00:00:03,000
First file, first line.

2
00:00:06,000 --> 00:00:08,000
First file, second line.

3
00:00:12,000 --> 00:00:14,000
Second file, first line.

4
00:00:17,000 --> 00:00:19,000
Second file, second line.

输出

First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
First file, first line.

2
00:00:06,000 --> 00:00:08,000
First file, second line.


Second file (film.part-2.srt):
3
00:00:12,000 --> 00:00:14,000
Second file, first line.

4
00:00:17,000 --> 00:00:19,000
Second file, second line.

切点落在十秒,因此第 1、2 条进入第一个文件,第 3、4 条进入第二个。两份都保留源文件里的编号:一份是同一文件的切片,而不是一份重新编号的新文件;保留编号让你能把某一段放回原件旁边,立刻看出它装了哪些字幕。

一条在切点前开始、切点后结束的字幕

输入

1
00:00:00,500 --> 00:00:02,000
Opens the first file.

2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.

3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.

输出

First file (film.srt):
1
00:00:00,500 --> 00:00:02,000
Opens the first file.

2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.


Second file (film.part-2.srt):
3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.

第 2 条从九秒开始、越过切点结束,它整条进入第一个文件——字幕属于它开始的那一段。第 3 条正好从切点开始,进入第二个文件,因为一段包含开启瞬间而不包含关闭瞬间。两条规则合起来,保证每条字幕恰好落在一个文件里。

常见问题

怎么知道某条字幕被分到了哪个文件?

看它的开始时间。每一段覆盖从自己边界到下一个边界的分钟数,字幕属于它开始的那一段——所以从 12 分 04 秒开始的字幕进入覆盖 10 到 20 分钟的文件。它在那份文件里的编号就是原来的编号,时间也未改变,因此直接在分段里搜索一行,和在原件里一样有效。

跨过分割点的字幕会被切成两半吗?

不会,它整条留在开始所在的那份文件里。一条从 9 分 58 秒开始、10 分 01 秒结束的字幕,第一部分会完整保存它和两个原始时间。按时间比例切文字会让半句话出现在每份文件里,而该在哪里断开并不是这一页能知道的。

第二个文件为什么叫 part-2,没有 part-1?

因为第一部分保留你的文件名。工具无法重命名它最初拿到的文档,所以装时间轴开头的那一份写成 film.srt,其余按覆盖顺序取 .part-2、.part-3。把它们放进同一个文件夹按名称排序,各分段就会按播放顺序排在原名旁边。

影片中段长时间没有字幕会生成空文件吗?

不会。空段会被跳过,而不是写成零字节条目,所以一部两小时、只有头尾半小时有字幕的影片会给你两个文件,而不是十二个。分段编号跟着实际存在的文件走,因此读一份分段内部的时间是判断它在影片哪个位置的唯一可靠办法。

按时间分割文件会改变时间或文字吗?

不会。每条字幕保留开始、结束和每一行文字;改变的只是它住在哪个文件里。什么都没有丢,也没有任何内容被报告为有损,因为确实没有丢。需要改时间轴本身——裁剪区间、平移、修帧率——是各自只做一件事的其它页面。

想让每集一个字幕文件,分段长度该怎么设?

输入框接受 600000、10m 或 00:10:00,000,三者都表示十分钟,也就是默认值。想一集一个文件,请分别跑每一集自己的字幕文件,而不是对整季用一份长文件:固定长度每次都从零点开始,为 42 分钟剧集设的切点,在 51 分钟剧集里会落在不同位置。

相关工具