在ffmpeg中使用if语句

Dio*_*iok 3 ffmpeg

是否可以在 ffmpeg 中使用 if/else 语句?

我想告诉 ffmpeg 任何低于 480p 的视频的尺寸是否不触及高度或宽度,否则进行编码并将其大小调整为 480p,这是我的命令,但如果视频低于 480p,它总是会放大视频

ffmpeg -i input.mp4 -c:v libx264 -crf 31 -me_method umh -bf 0 -vf scale=480:-2 out.mp4
Run Code Online (Sandbox Code Playgroud)

请注意,我不想使用任何编程语言,因为它是在 Windows cmd 上。

Gya*_*yan 6

符号 480p 指的是高度,所以我想这就是你的意思。

使用

ffmpeg -i input.mp4 -c:v libx264 -crf 31 -me_method umh -bf 0 -vf scale='if(gte(ih\,480)\,480\,iw)':-2 out.mp4

这将重新缩放高度为 480 或更高的视频。

  • 你的 shell 需要转义。修改的。 (2认同)