使用ass字幕文件通过ffmpeg给视频添加字幕的一些研究
Author:[email protected]
Create:2019-09-04
最近对ffmpeg给视频文件添加字幕效果,进行了一些调试和研究,个人做个笔记,方便以后查找和使用。
将字幕加入到视频文件中,有两种方式:
1)第一种是将字幕以除了音视频之外的字幕流的形式添加到视频文件格式中,然后播放器在播放这个视频文件的时候,就可以显示相应的字幕效果了,该方式对于已经存在的视频文件,可以不用对音视频进行转码,速度和效率较高,但缺陷是对于一些格式不支持一些字幕编码格式,例如mp4不支持ass编码格式字幕流,而mkv支持。所以对于mkv格式的视频文件,我们可以利用如下的命令方式直接添加字幕流:
Ffmpeg -i video.mp4 -i subtitle.ass -c:v copy -c:a copy -c:s ass -y dest.mkv
2) 另外一种方式是将字幕流烧录到视频流中,即当成视频效果的一部分,通过字幕滤镜处理。优点是支持所有的视频文件格式,缺点是需要对原视频中的视频流进行转码处理,耗时耗硬件资源。例如将字幕文件烧录进mp4,可以利用如下的命令方式直接添加字幕:ffmpeg -i video.mp4 -vf ass=subtitle.ass -y dest.mp4
3)