使用 ffmpeg 调整图像大小
Use ffmpeg to resize image
是否可以使用 FFMPEG 调整图像大小?
到目前为止我有这个:
ffmpeg. -i 1.jpg -vf scale=360:240 > 2.jpg
我收到错误消息 'At least one output file must be specified'
可能吗?
你可以试试这个:
ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png
我从 source
那里得到了这个
注意:比例滤镜还可以在保持纵横比的同时自动计算维度: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
有关详细信息,请参阅 this answer。
将图像比例缩小到 width:320px 和 height: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 的回答。
此示例还展示了如何调整多张图片的大小(在 windows 中):
for %j in (*.jpg) do ffmpeg -i "%j" -vf scale=480:-1 "Small-%~nj.jpg"
此命令将调整文件夹中所有 .jpg
图像的大小,在保持比例的同时设置宽度 480,并在调整后的图像名称的开头添加“Small-”。
而且我认为对于某些类型,可能有必要使用 -2 而不是 -1。为了指定高度,我们可以使用类似 -1:480 的东西。
是否可以使用 FFMPEG 调整图像大小?
到目前为止我有这个:
ffmpeg. -i 1.jpg -vf scale=360:240 > 2.jpg
我收到错误消息 'At least one output file must be specified'
可能吗?
你可以试试这个:
ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png
我从 source
那里得到了这个注意:比例滤镜还可以在保持纵横比的同时自动计算维度: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
有关详细信息,请参阅 this answer。
将图像比例缩小到 width:320px 和 height: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 的回答。
此示例还展示了如何调整多张图片的大小(在 windows 中):
for %j in (*.jpg) do ffmpeg -i "%j" -vf scale=480:-1 "Small-%~nj.jpg"
此命令将调整文件夹中所有 .jpg
图像的大小,在保持比例的同时设置宽度 480,并在调整后的图像名称的开头添加“Small-”。
而且我认为对于某些类型,可能有必要使用 -2 而不是 -1。为了指定高度,我们可以使用类似 -1:480 的东西。