本页目录▾

如何合并字幕文件

「合并字幕」其实是三件不同的事。电影分成两段(CD1 + CD2)?把第二个文件往后推第一段的时长再拼接。 同一个视频的两种语言?上下叠成一个双语字幕文件。想把字幕放进视频里?作为字幕轨封装,或者烧进画面。

在文本编辑器里把一个 SRT 粘到另一个后面,几乎一定会出问题:第二个文件的时间码从零重新开始,序号也会重复。 下面分别讲三种合并的正确做法,全部用免费工具。

你需要哪种合并?

你手上有你想要怎么做免费工具
第一段和第二段的字幕整部电影一个文件加偏移量拼接合并字幕
同一视频的两种语言两种语言同时显示叠成双语字幕双语字幕制作
只有一种语言双语字幕翻译后导出双语SubtitleFlow
一个视频和一个 SRT字幕在视频里封装或烧录MKVToolNix、ffmpeg

翻译方法对比表

1. 拼接电影的两部分(CD1 + CD2)

早年的资源常把一部电影分成两个视频文件,各配一个时间码从 00:00:00 开始的字幕。要配合拼接后的视频,第二个文件必须从第一段结束的地方开始。

1

查出第一段的时长

用 VLC 等播放器打开第一个视频,记下总时长,比如 58:41,这就是偏移量。

2

添加两个文件和偏移量

在合并字幕工具里先添加第一个文件,再添加第二个,填入第二个文件的偏移量。

3

合并并检查接缝处

下载合并后的文件,在播放器里跳到拼接点之后看几句。如果之后的字幕整体早了或晚了同样的时间,用字幕平移工具调整。

反过来——一个字幕文件要配分成两段的视频——用字幕拆分: 在指定时间切开,第二段的时间码会从零重新开始。

2. 制作双语字幕

双语字幕在每条里同时显示两种语言,通常原文在上、译文在下,学语言或全家一起看片时很常用。

已经有两种语言的字幕

用双语字幕制作工具:先放上面的语言,再放第二种语言。 两个文件条数相同时一一配对,否则按时间重叠配对。为不同版本制作的两个字幕文件,断句位置往往不同,很难对齐——要检查中段几分钟,不能只看开头。

只有一种语言

不用合并。用 SubtitleFlow 翻译这个文件并选择双语导出: 每条字幕同时包含原文和译文,时间完全一致,因为译文就是从同一个文件逐条翻出来的。

小技巧:一条双语字幕可能有四行高。如果挡画面,就把每行写短一点,或者在播放器的字幕设置里调小字号。

3. 把字幕放进视频文件

大多数播放器会自动加载和视频同名、放在同一目录的 SRT(movie.mp4 + movie.srt)。 如果需要一个单独的文件——给手机、电视或上传用——有两种做法。

软字幕:添加字幕轨(快,可以关闭)

MKVToolNix(免费,有图形界面)几秒就能把 SRT 加成一条字幕轨,不重新编码。用 ffmpeg:

ffmpeg -i movie.mkv -i subs.srt -map 0 -map 1 -c copy movie-subbed.mkv
ffmpeg -i movie.mp4 -i subs.srt -map 0 -map 1 -c copy -c:s mov_text movie-subbed.mp4

硬字幕:把文字烧进画面(始终显示)

有些不识别字幕轨的平台(比如部分短视频应用)需要这种方式。视频会重新编码,需要一些时间:

ffmpeg -i movie.mp4 -vf subtitles=subs.srt -c:a copy movie-burned.mp4

HandBrake 也能用图形界面完成(字幕页 → 导入 SRT → 勾选烧录)。

会弄乱时间轴的错误

  • 忘了偏移量:第二段的字幕全部出现在第一段里。
  • 帧率不一致:25 fps 和 23.976 fps 的字幕会越走越偏。合并前先用字幕帧率转换统一。
  • 用不同版本的字幕配对:两个不相干的 SRT 叠出来的双语字幕会配错行。改为翻译其中一个文件,两种语言就共用同一套时间轴。
  • 用 Word 之类的软件编辑:可能改掉换行符或编码,把文件弄坏。用纯文本编辑器或字幕工具。

更习惯桌面软件?免费的 Subtitle Edit 也能拼接字幕(工具 → 合并字幕)和平移时间。

常见问题

怎么把两个 SRT 文件合成一个?

如果它们是同一个视频的两个部分(CD1 和 CD2),就首尾拼接:第二个文件的时间码通常从 00:00:00 重新开始,拼接前要把它整体往后推第一部分的时长。合并工具可以一步完成。如果它们是同一个视频的两种语言,就应该上下叠成双语字幕。

第二个字幕文件的偏移量怎么确定?

用第一部分视频的准确时长——在 VLC 等播放器里打开它,看总时长,比如 58:41,把它填成第二个文件的偏移量。如果拼好后差一两秒,检查第一部分结尾是否有黑场或片头。

怎么用两个 SRT 做双语字幕?

用双语字幕制作工具:先放要显示在上面的语言,再放第二种语言,每条字幕都会同时显示两行。两个文件条数相同时效果最好,比如一个文件是另一个保留时间轴翻译出来的。

怎么把字幕永久合并到电影里?

两种方式:用 MKVToolNix 或 ffmpeg 把 SRT 作为可开关的字幕轨封装进去(软字幕),几秒就完成,画质不变;或者用 ffmpeg、HandBrake 把文字烧进画面(硬字幕),需要重新编码,而且无法关闭。

缺第二种语言?

翻译 SRT 或 VTT 并导出双语字幕——两种语言时间轴完全一致。

无需注册即可开始。

如何合并字幕文件:拼接两个 SRT、制作双语字幕、把字幕放进视频 | SubtitleFlow