发布于 2018年09月29日, 17:59:42
ffmpeg -i infile.mp4 -i infile.idx -i infile.sub -map 0:v -map 0:a -c copy -map 1 -c:s:1 dvd_subtitle -metadata:s:s:1 language=ch outfile.mkv
这条命令是加载视频文件infile.mp4,infile.idx和infile.sub文件,然后将字幕写进mkv中的metadata中,这样生成的mkv格式视频,可以在播放器中选择显示或者不显示字幕。
ffmpeg -i 1.mp4 -i 1.sub -i 1.idx -filter_complex "[0:v][2:s]overlay=0:H-h" -c:v libx264 out.mp4
这条命令是加载1.mp4,1.sub,1.idx文件,然后通过滤镜将字幕烧录进视频文件,[0:v]指的第一个加载的视频文件1.MP4,[2:s]指的是加载的1.idx文件,因为索引是2,然后通过overlay=0:H-h将字幕显示在视频下方。
这两条命令的差别在于第一个是合并到一个视频文件,这个视频如果进行hls切片的话,播放出来并不会有字幕。而第二个命令的作用是直接烧录进视频文件,这样切片之后还是会有字幕显示。
参考链接:https://askubuntu.com/questions/391122/how-can-i-burn-vobsub-subtitles-using-ffmpeg