【问题标题】:FFMPEG GIF with transparency from png image sequenceFFMPEG GIF,具有来自 png 图像序列的透明度
【发布时间】:2019-05-03 03:14:22
【问题描述】:

我一直在尝试使用 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

似乎之前的帧只是停留在那里,但我不知道如何处理它们。

【问题讨论】:

  • 打开ticket.
  • 您是否能够在这里找到任何东西,因为它似乎仍然不适用于 ffmpeg 4.2.x
  • @LiamMartens 我最终使用了 webm 文件,因为这些文件似乎可以正常使用透明度,我还没有重新访问 gif。

标签: ffmpeg gif


【解决方案1】:

在 ffmpeg 源代码 (libavcodec/gif.c) 中有一些命令行标志 - 它们是“-gifflags -offsetting”、“-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

【讨论】:

    猜你喜欢
    • 2016-12-09
    • 2015-01-26
    • 2010-09-07
    • 2010-12-22
    • 2021-12-02
    • 2016-01-22
    • 2011-10-19
    • 2016-01-01
    • 2011-01-22
    相关资源
    最近更新 更多