ffmpeg图像比例然后裁剪不起作用

时间:2016-08-20 23:56:25

标签: ffmpeg

我想从视频生成图像,但首先我要将其缩放到某个宽度/高度,然后将其裁剪为设定的正方形尺寸,问题是我的新版本ffmpeg似乎无法使用缩放

ffmpeg version 2.8.6-1ubuntu2

失败:

ffmpeg -y -i input.mp4 -an -ss 5 -s 150x150 -vf scale=-1:150,crop=150:150 -vframes 1 output-small.jpg
  

宽度'150'或高度'150'

的尺寸太大或非正尺寸无效

如下:

ffmpeg -y -i input.mp4 -an -ss 5 -s 150x150 -vf crop=150:150,scale=-1:150 -vframes 1 output-small.jpg

但是我不能满足于第二个命令,因为我生成的图像可能比原始尺寸大(我为每个图像创建了几个不同的尺寸),因此必须首先进行缩放。任何人都知道这里有什么改变或我做错了什么?

1 个答案:

答案 0 :(得分:5)

可能会发生这种情况,因为您的视频是人像,因此缩放后的图片宽度小于150像素。因此作物失败了。

此外,您应该跳过-s选项,否则您将触发两个缩放器执行。

尝试

ffmpeg -y -i input.mp4 -ss 5 -vf scale='if(gt(iw,ih),-1,150)':'if(gt(iw,ih),150,-1)',crop=150:150 -vframes 1 output-small.jpg