我有一个视频文件(格式为 .mp4、.mkv、.avi 或其他格式)和一个字幕文件 (.srt)。我想将字幕文件嵌入视频文件,这样我就只有一个文件 - 视频文件,而不是视频和字幕文件。
有可能吗?怎样做?
答案1
MKVtoolnix是另一个易于使用的选项,因为您已经拥有所需的文件。您可以将它们合并到 MKV 容器中,而无需对原始文件进行任何更改。它有一个不错的 GUI 来指导您完成合并过程。
我看到 user1301428 提到了 Handbrake,这也是一款非常常见/流行的工具。我不太熟悉它,但如果它不会重新编码源 AVI,那么它应该很棒。
答案2
一个免费的跨平台解决方案,FFmpeg,它会进行比特流复制,因此即使对于大文件,也不会花费超过几秒钟的时间:
ffmpeg -i input.mp4 -i subtitles.srt -c:s mov_text -c:v copy -c:a copy -map 0 output.mp4
这适用于 MP4。请注意,某些字幕格式可能不会自动与所选的输出格式兼容,因此您必须在之后更改编解码器-c:s
:
MP4:使用
mov_text
字幕编解码器(如上例所示),它实现了MPEG-4 第 17 部分。MKV:使用
srt
、subrip
或ssa
。MKVass
不支持mov_text
。视频:嵌入字幕非常成问题。理论上它们支持 SubRip 和 SSA/ASS 字幕,但只能通过第三方软件。
请参阅维基百科容器及其支持的字幕格式列表。
使用 Handbrake 等专用视频编码程序会重新编码你的视频,这会降低视频质量,并可能导致小时进行编码——这就是为什么您应该检查工具是否支持复制视频和音频比特流。
答案3
您可以使用手刹。在“字幕”选项卡中,您只需选择字幕文件,然后启动编码。
答案4
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi