将视频和字幕文件合并为一个视频?

16 subtitles video-editing

我有一个视频文件(.mp4、.mkv、.avi 或其他格式)和一个字幕文件 (.srt)。我想将字幕文件嵌入到视频文件中,以便我只有一个文件 - 视频文件与视频和字幕文件相反。

是否可以?如何?

slh*_*hck 24

带有FFmpeg 的免费跨平台解决方案,它执行比特流复制,因此即使对于大文件也不会超过几秒钟:

ffmpeg -i input.mp4 -i subtitles.srt -c:s mov_text -c:v copy -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)

这适用于 MP4。请注意,某些字幕格式可能不会自动与所选的输出格式兼容,因此您必须在以下之后更改编解码器-c:s

  • MP4:使用mov_text实现MPEG-4 Part 17的字幕编解码器(如上例所示)。

  • MKV:使用srtsubripssaass。MKV 不支持mov_text.

  • AVI:嵌入字幕非常有问题。理论上他们支持 SubRip 和 SSA/ASS 字幕,但只能通过第三方软件。

有关容器及其支持的字幕格式列表,请参阅 Wikipedia 。

使用 Handbrake 等专用视频编码程序将重新编码您的视频,这会降低其质量并可能需要您花费数小时进行编码 - 这就是您应该检查这些工具是否支持复制视频和音频比特流的原因。

  • 如果您的字幕文件是“*.vtt”格式,请使用“-c:s webvtt”选项,如下所示:“ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy - c:复制输出.webm` (2认同)

Mel*_*oth 8

MKVtoolnix是另一个易于使用的选项,因为您已经拥有所需的文件。您可以将它们组合成一个 MKV 容器,而无需更改原件。它还有一个很好的 GUI 来指导您完成组合过程。

我看到user1301428 提到了Handbrake,它也是一个非常常见/流行的工具。我不太熟悉它,但如果它不重新编码您的源 AVI,那么它应该很棒。