ffmpeg 如何将视频放大 2 倍但前提是结果尺寸小于 720 高度?

ffmpeg how to upscale video 2x but only if resulting size is smaller than 720 height?

我想将 ffmpeg 中的视频放大到其大小的两倍,但前提是生成的大小小于 720 高度...因此,例如:

256x144 的视频将放大 2 倍,得到 512x288

640x360 的视频将放大 2 倍,得到 1280x720

854x480(或更大尺寸)的视频不会被放大,因为生成的尺寸会超过 720 高度的限制。

那么,是否可以使用“比例”过滤器在 ffmpeg 中执行类似的操作?

是的。使用 scale 过滤器和 expression:

scale=-1:'if(lte(ih,360),2*ih,ih)'

宽度将自动设置为与高度成比例。

[edit] 感谢@anonymous 发现原始解决方案中的不准确之处。原解:

scale='if(lt(iw,720)*lt(ih,720),2*iw,iw)':-1

如果任一尺寸小于 720 像素,此方法会将框架大小加倍,这不符合 OP 的需要。