FFMpeg 调整任何视频的大小以适应 1080x1920 垂直,而不是通过缩小和添加模糊边框进行裁剪?

FFMpeg to resize any video to fit 1080x1920 vertical, without cropping, instead by shrinking and adding blurred borders?

我找到了一些解释如何通过使用 FFMpeg 添加模糊边框来将任何视频水平转换的帖子,但我想将视频转换为垂直 1080x1920。我不希望它放大视频,也不希望它在尺寸大于 1080 或 1920 尺寸时进行裁剪。相反,我希望它缩小视频直到它完全适合 1080x1920,然后我希望它向空白区域添加模糊边框。

这是我找到的片段,但当我尝试反转数字时,它实际上裁剪了视频。

ffmpeg -I input.mp4 -lavfi "[0:v]scale=1920*2:1080*2,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[0:v]scale=-1:1080[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2,crop=w=1920:h=1080" output.mp4

简单方法:

ffmpeg -i input.mp4 -filter_complex "[0:v]boxblur=40,scale=1080x1920,setsar=1[bg];[0:v]scale=1080:1920:force_original_aspect_ratio=decrease[fg];[bg][fg]overlay=y=(H-h)/2" -c:a copy output.mp4

“简单”,因为它强制背景为 1080x1920 并忽略纵横比。所以背景看起来会被拉长,但是很模糊,没人会在意或注意到。