播放视频时默认显示软字幕

soft subtitles showing by default when video is played

是否可以从原始视频文件创建一个包含软字幕并默认显示的视频文件(只要您在 VLC 中打开它 - 无需激活字幕轨道)和适当的字幕文件?

我试过以下方法:

ffmpeg -i input.mp4 -i input.ass -c:v copy -c:a copy -c:s copy -map 0:0 -map 0:1 -map 1:0 -y out.mkv

生成的 out.mkv 确实包含副标题,但默认情况下不显示。感谢您的帮助。

找到了我要找的答案here。 简而言之,它会是这样的:

mkvmerge -o out.mkv -S "input.mp4" --language "0:eng" --track-name "0:Forced" --forced-track "0:yes" --default-track "0:yes" "input.srt"

这对我有用:

将字幕转换为"ass"格式:

ffmpeg -i english.srt english.ass

然后像这样使用视频过滤器播放视频:

ffplay -vf ass="english.ass" video.mp4

这样您就不必将字幕合并到视频中了。