我想要做的是从不同尺寸的图像创建一个 gif,并使具有不同纵横比的图像的边框(填充区域)透明。
每个图像应显示 3 秒。(-r 1/3)
我从我想要的图像创建了一个文件列表 (Lista.txt),图像名称没有排序,所以我不能使用 %03d 或其他东西。所有文件均为 *.jpg 格式。
我的代码:
ffmpeg -f concat -safe 0 -r 1/3 -i Lista.txt -loop 0 -lavfi ^
"[0]format=rgba,scale=854:480:force_original_aspect_ratio=decrease:eval=frame,pad=854:480:-1:-1:eval=frame:color=#[email protected][vid]; ^
[vid]split[vid1][vid2];[vid1]palettegen=reserve_transparent=1[pal]; ^
[vid2][pal]paletteuse=alpha_threshold=128[final]" -map [final] -gifflags -offsetting "output.gif"
最终结果 output.gif 仅显示序列的最后一张图像,而不是所有图像。任何帮助,将不胜感激。
这些是图片: Images.zip
这是结果: output.gif
它看起来像添加
-reinit_filter 0
标志,解决了这个问题:缩小输出: