ffmpeg 缩放 4k 视频并添加字幕

ffmpeg scale 4k video and add subtitles

我无法将视频从 4k 缩放到 1080,同时仍保留视频字幕。这些字幕是基于 PGS 的,因此需要烘焙到输出视频中。为了缩放视频,我使用 ffmpeg 和 filter_complex 像这样:

'-filter_complex', `[0:v][0:s:randomSubtitleHere]scale=1920:1080[scaled];[scaled][0:s:0]overlay[v]`, 
'-map', '[v]', '-map', 
`0:a:${movieTitle['audioSelect']}`,

这将为我提供 1080 的视频,但我仍然看不到我选择的字幕。

PGS 是基于图像的字幕。

使用scale filter:

ffmpeg -i input.mkv -filter_complex "[0:v]scale=1920:1080[vid];[0:s:0]scale=1920:1080[sub];[vid][sub]overlay[v]" -map "[v]" -map 0:a:0 output.mkv

或添加 scale2ref filter 以自动缩放字幕以匹配视频的大小。

ffmpeg -i input.mkv -filter_complex "[0:v]scale=1920:1080[ref];[0:s:0][ref]scale2ref[sub][vid];[vid][sub]overlay[v]" -map "[v]" -map 0:a:0 output.mkv