如何从 .png 帧创建非常大的 .gif 文件,以避免内存限制?

如何从 .png 帧创建非常大的 .gif 文件,以避免内存限制?

我想.gif从单个.png帧创建一个,并且正在处理大量非常大的文件。这些.png文件10GB总共大约有。

到目前为止,我已经完成了以下工作:

ffmpeg -framerate 30 -pattern_type glob -i '*.png' -filter_complex "split[a][b];[a] palettegen [p];[b][p] paletteuse" out.gif

除非文件数量.png变得太大,否则它工作正常。据我所知,问题在于palettgen过滤器,它超出了可用磁盘空间,占用了多达90GB

我也尝试过创建单独的.gif文件,然后将它们连接起来,但这导致第一个文件.gif一遍又一遍循环,而第二个文件.gif根本不播放。

我尝试过的另一件事是创建一个中间.mkv文件和一个.png调色板文件,然后使用它们来创建最终的.gif

ffmpeg -i in.mkv -i palette.png -lavfi paletteuse out.gif

这将引发以下错误:

Error while filtering: Internal bug, should not have happeneditrate=198092.4kbits/s speed=0.19x     
Failed to inject frame into filter network: Internal bug, should not have happened
Error while processing the decoded data for stream #0:0

后者似乎是最有前途的方法,所以如果有人可以提供可能有效的命令,那就太好了。

相关内容