如何在 FFmpeg 的同一命令中使用 palettegen 和 paletteuse?

如何在 FFmpeg 的同一命令中使用 palettegen 和 paletteuse?

我正在尝试FFmpeg将一堆 Png 转换为 gif,同时设置每帧的持续时间并dither在单个命令中使用最佳调色板(和其他参数,例如)。

我在读FFmpeg 的页面,但示例使用了两个命令和一个临时palette.png文件。


这是我在不使用palettegenand 的情况下得到的结果paletteuse

-vsync 2 -safe 0 -f concat -i "concat.txt" -y "example.gif"

concat.txt文件包含每个帧的路径和持续时间,例如:

file 'C:\0.png'  
duration 0.066 

它按预期输出具有默认调色板的 gif。


所以,我的问题是,如何在没有临时文件的情况下在同一个命令上使用palettegen和?paletteuse

答案1

好的,现在可以用另一个命令了超级用户回答

-vsync 2 -safe 0 -f concat -i "concat.txt" 
-lavfi palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1 -y "example.gif"

相关内容