FFmpeg 是一个非常强大的多媒体框架,可以用来处理音频、视频以及字幕文件。要将 WebVTT(.vtt)字幕文件添加到视频文件中,你可以使用 ffmpeg
的 subtitles
过滤器。以下是基本的命令格式:
ffmpeg -i input_video.mp4 -vf "subtitles=subtitle.vtt" -map 0:v -map 0:a -c copy output_video.mp4
这里的参数解释如下:
-i input_video.mp4
:指定输入视频文件。-vf "subtitles=subtitle.vtt"
:使用subtitles
过滤器来添加字幕文件subtitle.vtt
。-map 0:v
:映射输入文件的第一个流(通常是视频流)到输出文件。-map 0:a
:映射输入文件的音频流到输出文件。-c copy
:复制原始视频和音频流,不进行重新编码。output_video.mp4
:指定输出文件名。
请注意,这个命令会将字幕烧录到视频上,这意味着字幕将不可关闭。如果你想要生成一个包含单独字幕流的文件,可以使用以下命令:
ffmpeg -i input_video.mp4 -i subtitle.vtt -c:v copy -c:s mov_text output_video.mkv
在这个命令中:
-i input_video.mp4
和-i subtitle.vtt
:分别指定视频和字幕文件作为输入。-c:v copy
:复制视频流,不进行重新编码。-c:s mov_text
:指定字幕编码为mov_text
,这是一种常见的字幕编码格式。output_video.mkv
:输出文件,这里使用了.mkv
扩展名,因为它支持多个视频、音频和字幕流。
确保你安装了最新版本的 FFmpeg,因为不同版本的 FFmpeg 可能支持的功能有所不同。如果你遇到任何问题,可以查看 FFmpeg 的官方文档或寻求社区的帮助。