ffmpeg:如何创建裁剪缩略图?

ffmpeg:如何创建裁剪缩略图?

为了创建视频缩略图,ffmpeg我使用以下命令:

ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg

这给了我一个与视频大小相同的缩略图(视频大小未知,例如 960x540)。但我需要的是正方形(裁剪) 具有给定大小(例如 200x200)的缩略图。结果不得调整大小,而是从中心裁剪,并且纵横比不应改变。

如何实现这一点?

答案1

您可以使用crop视频过滤器:

ffmpeg -ss 4 -i video.mp4 -vf crop=200:200 -vframes 1 output.jpg
  • 默认情况下裁剪将居中。

  • 使用-ss而不是-itsoffset来选择偏移时间。

  • 您可以使用 控制 JPEG 输出质量-qscale:v。使用 2-5 的值通常比较好;值越低,质量越高。

  • crop过滤器还可以接受输入和输出的宽度和高度作为值:iwihowoh。这允许更灵活和创造性的过滤:crop=iw-100:ih-50

您可以测试以ffplay获取预览:

ffplay video.mp4 -vf crop=200:200

原始图像(使用testsrc源过滤器:

ffmpeg -f lavfi -i testsrc -vframes 1 output.jpg 

原始图像

裁剪后的图像:
裁剪图像

答案2

您可以先缩放它,然后裁剪它以获得更好的输出;)

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:300,crop=400:300" "output.jpg"

在 0:49 输入视频 输出图像

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:150,crop=200:150" "output.jpg"

另一个缩略图

相关内容