可以使用FFmpeg来调整图像的大小吗?
到目前为止,我有以下内容:
我收到了错误信息:
至少需要指定一个输出文件
这可能吗?
到目前为止,我有以下内容:
ffmpeg. -i 1.jpg -vf scale=360:240 > 2.jpg
我收到了错误信息:
至少需要指定一个输出文件
这可能吗?
ffmpeg. -i 1.jpg -vf scale=360:240 > 2.jpg
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
感谢 @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”的方式。将图像缩放到宽度为320像素,高度为240像素的边框内。
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
如果源图像大小在边界框内,则不要对其进行调整大小。 如果图像的宽高比大于320/240且宽度大于320,则将宽度调整为320并保持宽高比。 如果图像的宽高比小于320/240且高度大于240,则将高度调整为240并保持宽高比。
scale=320:-1
表示宽度为320,高度自适应;使用scale=-1:240
则表示高度为240,宽度自适应。 - llogan