Я попытался изменить размер анимированного GIF-изображения с прозрачностью, но фон стал сплошным белым. Как мне сохранить прозрачность?
Я прочитал https://superuser.com/a/556031/130929 и попробовал
>set FILTERS=scale=320:-1:flags=lanczos
>ffmpeg -hide_banner -i logo.gif -vf "%FILTERS%,palettegen=stats_mode=diff" -y palette.png
>ffmpeg -hide_banner -i logo.gif -i palette.png -lavfi "%FILTERS% [x]; [x][1:v] paletteuse" logo-320.gif
Я также попробовал -gifflags +transdiff
но это не помогло, так как в блоге в ответе сказано, что это по умолчанию в любом случае. Я тоже пробовал без stats_mode=diff
.
Я также пробовал использовать палитру для каждого кадра, но это только увеличивало размер файла и не сохраняло прозрачность.
>ffmpeg -hide_banner -i logo.gif -filter_complex "[0:v] scale=320:-1:flags=lanczos,split [a][b]; [a] palettegen=stats_mode=single [p]; [b][p] paletteuse=new=1" logo-320.gif