FFMPEG缩放,如何设置比例所以宽度和高度不超过一定数量?

Dar*_*ius 5 linux ffmpeg

我有2个视频,一个是500像素乘100像素(只是一个例子,就像在iPhone上横向记录的东西).和一个1980 x 400像素的视频.我需要视频转换维持宽高比.我知道-vf缩放滤镜,例如-vf scale = -1:320,但是它只取宽度并相应地缩放高度.我的500 x 100视频宽320像素,高1600像素.这很糟糕,我需要它最大500像素高,最大宽度320(只是示例尺寸).

我如何配置-vf缩放功能来做到这一点?

使用最新的ffmpeg 0.11

回顾:将任何视频缩放到最大500高度:320宽度,同时保持纵横比

mar*_*hep 7

为了避免将黑带编码到视频中(-aspect选项可以),您可以将一些表达式传递给缩放视频滤镜,如下所示:

-vf scale='if(gt(a,320/500),320,-1)':'if(gt(a,320/500),-1,500)'

请注意,单引号需要由ffmpeg接收,因此如果您在shell下运行命令,则需要转义它们(例如,使用双引号括起整个scale=...参数).

(图片来源:ffmpeg trac)