在项目中,设计师由于给的gif过大,结合实际分辨率不需要那么大,就想着怎么把分辨率调低,但是设计的gift背景是透明的,结合文档https://www.jianshu.com/p/a11bbf804e75
如果按照正常 ffmpeg -i 1.gif -vf fps=10,scale=200:-1 2.gif 压缩后背景图会有白色背景
这不是我们想要的。
直接上代码把:
1. ffmpeg -i 1.gif -r 10 -vf fps=10,scale=200:-1:flags=lanczos,palettegen -y 2.png2. ffmpeg -i 1.gif -i 2.png -filter_complex "fps=10,scale=200:-1:flags=lanczos[x];[x][1:v]paletteuse" -y 3.gif
最后完美解决!