FFMPEG GIF,具有来自png图像序列的透明度

时间:2018-11-30 23:50:22

标签: ffmpeg gif

我一直在尝试使用ffmpeg创建具有透明背景的gif,但是只要运动在背景之上,像素就会停留在该位置。它是一棵带有风动画的树,这就是它的结局:https://i.imgur.com/pq4ArBG.png

我首先尝试创建调色板,然后创建gif:

ffmpeg -i Tree_%04d.png -vf palettegen=reserve_transparent=1 palette.png

ffmpeg -framerate 30 -i Tree_%04d.png -i palette.png -lavfi paletteuse=alpha_threshold=128 treegif.gif

似乎以前的框架只是停留在那儿,但我不知道如何处理它们。

1 个答案:

答案 0 :(得分:4)

在ffmpeg源代码(libavcodec / gif.c)中,有一些命令行标志-它们是“ -gifflags -offset”,“-gifflags -transdiff”和“ -gifimage”。 我在一些具有透明度的示例帧上进行了尝试,我认为其中第一个会产生您所描述的效果:

ffmpeg -i Tree_%04d.png -vf palettegen=reserve_transparent=1 palette.png
ffmpeg -framerate 30 -i Tree_%04d.png -i palette.png -lavfi paletteuse=alpha_threshold=128 -gifflags -offsetting treegif.gif