字幕区间裁剪
或者粘贴字幕文本
选项
在这个时刻之前已经显示的内容都会被去掉。更早开始、但此刻仍显示在屏幕上的字幕会保留,并在边界处截断。留空表示窗口从文件开头算起。
从这个时刻起开始显示的内容都会被去掉,跨过它的字幕会被截在这一点。这个时刻本身不属于窗口:正好从这一刻开始的字幕归入下一段。留空表示窗口持续到文件末尾。
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这一页只保留字幕文件落在某个时间窗口内的部分,其余移除。给它开始、结束或两者都给,它会把文件走一遍:完全在窗口外的字幕被丢弃,跨在边界上的字幕在边界处切断,完全在窗口内的原样通过。
判据是重叠,而不是“开始时间在哪”。一条从四秒开始、五秒仍在屏幕上的字幕属于五到十秒的窗口,因此保留——开始时间被拉到正好五秒。这就是裁剪文件与移动一段时间的区别:按开始判断的页面会删掉它,顺手带走一句对白;按结束判断的页面则会留下尚未开始的字幕。
窗口的结束瞬间不包含在内。正好在窗口结束处开始的字幕属于影片的下一段,不属于这一段;正好在窗口开始处结束的字幕则已经离屏。半开边界听起来像吹毛求疵,直到你把同一份文件的两个相邻区间各裁一次,发现同一行出现在两份产物里。
一切都在浏览器标签页里完成:文件在本地读取、裁剪、写回,一个字节也不上传。SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV 都接受;MicroDVD 需要在框里填帧率,因为它用帧号计时。
示例
从文件中段取十秒窗口
输入
1
00:00:01,000 --> 00:00:02,500
Before the window.
2
00:00:04,000 --> 00:00:06,000
Crosses the start.
3
00:00:07,000 --> 00:00:08,000
Fully inside.
4
00:00:09,000 --> 00:00:11,500
Crosses the end.
5
00:00:14,000 --> 00:00:15,000
After the window.
输出
2
00:00:05,000 --> 00:00:06,000
Crosses the start.
3
00:00:07,000 --> 00:00:08,000
Fully inside.
4
00:00:09,000 --> 00:00:10,000
Crosses the end.
五条字幕,四种结果,一次完成。窗口打开时第一条早已离屏,第五条还没出现,两条都被丢弃。第二条从四秒开始、五秒还在说话,因此保留,开始被拉到 5000 毫秒。第四条同样失去最后 1.5 秒。第三条从未被碰过。
只给开始边界:剪掉片头
输入
1
00:00:00,500 --> 00:00:02,000
Intro card.
2
00:00:02,500 --> 00:00:04,000
Still talking over the logo.
3
00:00:05,000 --> 00:00:06,000
First line of the programme.
输出
2
00:00:03,000 --> 00:00:04,000
Still talking over the logo.
3
00:00:05,000 --> 00:00:06,000
First line of the programme.
结束框留空,表示没有结束边界——窗口一直延伸到文件末尾。片头卡被丢弃,跨过三秒标记的那句对白在那里被切断。空框不是零:在结束框里填 0 会得到一个空窗口,页面会说什么都没做。
常见问题
字幕在窗口开始前就在屏幕上,裁剪后会怎样?
会保留,开始时间被拉到窗口开始的那一刻。页面应用的判据是重叠:只要字幕有任何一部分落在窗口内,那一部分就属于结果。这是裁剪文件与平移一段时间之间最重要的区别,也是跨过边界的一句对白不会在剪口处消失的原因。
区间裁剪会重新编号吗?
不会。字幕保留它在文件里的原序号,所以一段从第 2 条开始的保留内容仍然从编号 2 开始,编号里的空缺显示被移除了什么。重新编号是对你没要求过的行另做改动,也会让你需要核对某行时更难把裁剪后的文件与原件对齐。
刚好在窗口开始处结束的字幕为什么被去掉?
因为窗口打开时它已经离屏——那个边界属于后面的窗口。另一端规则相同:正好在窗口关闭处开始的字幕属于下一段。两个边界都是半开的,这才防止同一份文件的两个相邻区间都声称拥有落在共享边界上的那条字幕。
两个字幕区间框可以只填一个吗?
可以,这也是这一页常见的用法。开始框留空表示窗口从文件开头起;结束框留空表示一直到结尾。只填开始框会剪掉片头,只填结束框会剪掉片尾。两个都空,或结束时刻不晚于开始时刻时,页面会报告什么都没做,而不是返回一份空文件。
裁剪掉窗口外的内容会记为有损吗?
不会。移除窗口之外的内容正是这一页要做的事,所以不按损坏报告;结果行会告诉你丢弃了多少条、在边界处切断了多少条。这与那些因为别的原因顺带丢字幕的页面不同——在那里,有损说明是删除唯一会被提到的地方。
哪些格式支持区间裁剪,为什么排除 LRC?
SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV。纯文本与 LRC 不接受,因为裁剪要读写每条字幕的两端,而这两种格式不在文件里保存结束时间——由下一条开始推导出的结束时间又会被写成下一条的开始,输出与输入逐字节相同,页面就在说谎。