gpt4 book ai didi

FFmpeg 将不同大小的图像转换为 gif,同时保留原始纵横比

转载 作者:行者123 更新时间:2023-12-04 22:55:53 26 4
gpt4 key购买 nike

我正在尝试从一堆不同大小的 JPEG 图像创建一个 GIF,同时保留每个图像的纵横比。我想要实现的是假设我们有一个 640x480 的矩形,图像应该在其中居中并扩展以尽可能地填充尺寸。生成的 gif 应该在尺寸上尽可能小,并且所有空白区域都应该是纯色的。

ffmpeg -f image2 -i img_%d.jpg -vf scale=640x480:force_original_aspect_ratio=decrease output.gif

force_original_aspect_ratio= 增加也没有帮助。

实际上我尝试了很多不同的选项,但结果几乎相同。这些选项仅应用于序列的第一个图像,所有其他图像的大小都调整为第一个图像的尺寸,而不保留它们自己的纵横比。

我只想知道 ffmpeg 是否可行,或者我应该在 gif 组装之前研究自定义图像处理?

最佳答案

利用

ffmpeg -i img_%d.jpg -vf scale='if(gt(a,640/480),640,-1)':'if(gt(a,640/480),-1,480)':eval=frame,pad=640:480:(ow-iw)/2:(oh-ih)/2 output.gif

您可能想使用 palettegenpaletteuse用于优化 GIF 创建的过滤器。

1
ffmpeg -i img_%d.jpg -vf scale='if(gt(a,640/480),640,-1)':'if(gt(a,640/480),-1,480)':eval=frame,pad=640:480:(ow-iw)/2:(oh-ih)/2,palettegen palette.png

2
ffmpeg -i img_%d.jpg -i palette.png -filter_complex "[0]scale='if(gt(a,640/480),640,-1)':'if(gt(a,640/480),-1,480)':eval=frame,pad=640:480:(ow-iw)/2:(oh-ih)/2[seq];[seq][1]paletteuse" output.gif

关于FFmpeg 将不同大小的图像转换为 gif,同时保留原始纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38937136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com