如何将字幕轨道“刻录”到 mp4 视频文件上

如何将字幕轨道“刻录”到 mp4 视频文件上

我想将字幕文件作为 mp4 视频文件的一部分,这样我就不必处理两个单独的文件。

我想象两种方式:

  • 使字幕成为视频的固有部分。这将需要视频重新编码。
  • 使字幕成为单独的流,但仍嵌入到同一视频文件中。这是更可取的,特别是因为我可以禁用它(与其他方法不同),甚至可以使用字体类型/大小。

我该如何以第二种方式做事?了解第一种方法的工作原理也很酷。

答案1

Matroska (mkv) 容器格式支持将基于文本的字幕作为单独的流嵌入到文件中。

你可以使用合并将文件重新混合为 .mkv 并在输出中包含字幕,您可以在播放视频时启用/禁用字幕。请注意,此方法不会重新编码视频或音频,它只是将相同的数据放入不同的容器格式中,因此不会降低视频的质量。

mkvmerge -o output.mkv video.mp4 subtitles.srt

答案2

在一个名为gpac,有一个 CLI 实用程序称为MP4Box

这是对我有用的一个例子..

MP4Box  -add ~/file.noaudio.mp4 \
        -add ~/file.mp3 \
        -add ~/file.srt \
             ~/file.MP4Box.mp4   

我使用了纯视频和纯音频,但它肯定(?)可以与普通的音频+视频“电影”一起使用......现在已经很晚了,所以我就留在那里......

注意:字幕在 Totem 中有效,但在 SMPlayer 中无效...

答案3

尝试类似的方法:

mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4

相关内容