Tamanho do GIF muito alto?

Tamanho do GIF muito alto?

Estou tentando extrair um GIF de um arquivo de vídeo MP4.

Agora tenho dois modi com os quais faço isso:

1) o normal:

ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -s 320x174 -filter_complex "fps=15" output.gif

que fornece um arquivo de 1,6 MB.

e 2)

ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -filter_complex "fps=15,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

o que oferece um arquivo grande com melhor aparência, mas com 4,5 MB (aumento de 181%). Ele usa um arquivo de paleta 16x16, que criei com

ffmpeg -y -t 7.7 -ss 00:22:53 -i video.mp4 -vf fps=15,scale=320:-1:flags=lanczos,palettegen palette.png

Agora não consigo entender como 2 GIFs com o mesmo fps, duração e resolução podem ter uma diferença tão grande de tamanho. Minha intuição seria que eles deveriam ser iguais. Por que existe essa diferença? E existe alguma maneira de cortar o tamanho de 2) para o de 1) sem perder qualidade?

Obrigado

Responder1

Devido à forma como os GIFs funcionam, quanto mais complicada a paleta, o GIF resultante fica maior rapidamente.

Eu usaria o GIMP para otimizar o GIF resultante do número 2 - não tenho 100% de certeza de como funciona, mas acho que basicamente exclui informações duplicadas de um quadro para o outro.

Captura de tela do GIMP

informação relacionada