在ffmpeg中使用if语句

问题描述 投票:0回答:2

是否可以在 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

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

ffmpeg
2个回答
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 或更高的视频。


0
投票

最后不应该是“ih”吗:

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

甚至

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

如果您想避免调整大小?

© www.soinside.com 2019 - 2024. All rights reserved.