有些电影的视频与字幕是分离的,如果在视频中嵌入字幕,那么观看起来会更方便一些,不必在播放前额外去加载字幕文件。
在 Linux 中,可以使用 ffmpeg 命令实现上述功能。
ffmpeg -i infile.mp4 -i infile.srt -c copy -c:s mov_text outfile.mp4
注意, -c copy -c:s mov_text 的顺序是非常重要的,因为这是简写。或者可以使用如下选项 -c:v copy -c:a copy -c:s mov_text ,在这组选项里,顺序就不重要了。
其中, -i 选项用于指定需要读取的文件,在这里是视频文件与字幕文件(字幕文件 srt 与 ass 格式皆可)。
但是,对于格式为 Matroska 的视频文件(扩展名为 mkv),上述命令会提示错误信息:Subtitle codec 94213 is not supported,应当使用如下命令:
ffmpeg -i infile.mkv -i infile.srt -c copy -c:s srt outfile.mkv