使用 ffmpeg 调整图像大小

是否可以使用 FFMPEG 调整图像的大小?

目前为止我有这个:

ffmpeg. -i 1.jpg -vf scale=360:240 > 2.jpg

我得到的错误消息是‘必须指定至少一个输出文件’

有可能吗?

87543 次浏览

你可以试试这个:

ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png

这是我从 来源买的

注意: 缩放过滤器也可以自动计算一个维度,同时保留高宽比: scale=320:-1,或 scale=-1:240

如果你想保留纵横比,你可以这样做-

./ffmpeg -i 1.jpg -vf scale="360:-1" 2.jpg

或者,如果你想根据输入的宽度和高度来调整大小,让我们说输入的宽度和高度的一半,你可以这样做-

./ffmpeg -i 1.jpg -vf scale="iw/1:ih/2" 2.jpg

哪里

iw: input width
ih: input height

它也可以调整图像的大小,以适应内部的一些尺寸和 信箱的其余部分。

示例命令:

ffmpeg -i IN.png -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" OUT.jpg

有关详细信息,请参阅 这个答案

要将图像缩放到宽度为320px、高度为240px 的边框。

ffmpeg -i src_image_path -vf 'scale=if(gte(a\,320/240)\,min(320\,iw)\,-2):if(gte(a\,320/240)\,-2\,min(240\,ih))' dst_image_path

a: aspect ratio
iw: in width
ih: in height

如果 src 图像的大小在边界框中,则不要调整它的大小。 如果图像的长宽比大于320/240,宽度大于320,则将宽度调整为320,并保持长宽比。 如果图像的长宽比小于320/240,高度大于240,则将高度调整为240,并保持长宽比。

感谢@andri-kurnia 的回答。

此示例还演示了如何调整多个图像(在窗口中)的大小:

for %j in (*.jpg) do ffmpeg -i "%j" -vf scale=480:-1 "Small-%~nj.jpg"

此命令将调整文件夹中所有 .jpg图像的大小,设置宽度为480,同时保持比率,并在调整大小的图像名称的开头添加“ Small-”。 我认为对于某些类型,可能需要使用 -2而不是 -1。为了指定高度,我们可以使用 -1:480这样的值。