Tamanho do GIF muito alto?

3

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

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

1) o regular:

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 com 1,6 MB de tamanho.

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

que dá uma aparência melhor, mas 4,5MB (aumento de 181%) de arquivo grande. Ele usa um arquivo de paleta 16x16, que eu 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 ver como 2 GIFs do mesmo fps, duração e resolução podem ter uma diferença tão grande no tamanho. Minha intuição seria, eles deveriam ser os mesmos. Por que existe essa diferença? E existe alguma maneira de reduzir o tamanho de 2) para o de 1) sem perder qualidade?

Obrigado

    
por nfisher 27.01.2016 / 18:17

1 resposta

3

Devido à forma como os GIFs funcionam, quanto mais complicada a paleta, o gif resultante se torna maior rapidamente.

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

    
por 27.01.2016 / 18:49