添加软字幕这个过程不需要重新编解码,速度非常快。首先我们得准备各种格式的字幕文件,得到方法可以参考文章:《使用Arctime生成各种格式的字幕文件》
给mkv文件添加srt格式的软字幕:
ffmpeg -i input.mkv -i input.srt -c copy -c:s srt output.mkv
给mp4文件添加srt格式的软字幕(mkv格式本身支持字幕轨道,但mp4需要使用mov_text)
ffmpeg -i input.mp4 -i input.srt -c copy -c:s mov_text output.mp4
给mkv文件添加ass软字幕(mp4不支持ass编码格式的字幕流,mkv支持)
ffmpeg -i input.mkv -i input.ass -c copy -c:s ass output.mkv
添加完字幕后,使用ffmpeg -i XXX的命令可以看到字幕流已经被添加进去了
但是播放生成的视频文件却可能还是看不到字幕。原因是要想软字幕正常显示,播放器必须支持字幕的渲染(比如vlc就支持)。用vlc打开视频文件,然后“字幕”->“字幕轨道”这里选择“轨道1”,即可看到字幕正常显示了。