¿El tamaño del GIF es demasiado alto?

¿El tamaño del GIF es demasiado alto?

Estoy intentando extraer un GIF de un archivo de vídeo MP4.

Ahora tengo dos modi con los que hago esto:

1) el normal:

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

que genera un archivo de 1,6 MB de tamaño.

y 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

lo que da como resultado un archivo mucho más atractivo, pero de 4,5 MB (aumento del 181 %). Utiliza un archivo de paleta de 16x16, que creé con

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

Ahora no puedo entender cómo 2 GIF con los mismos fps, duración y resolución pueden tener una diferencia de tamaño tan grande. Mi intuición sería que deberían ser iguales. ¿Por qué existe esta diferencia? ¿Y hay alguna manera de cortar el tamaño de 2) al de 1) sin perder calidad?

Gracias

Respuesta1

Debido a cómo funcionan los GIF, cuanto más complicada es la paleta, el gif resultante se hace más grande con bastante rapidez.

Usaría GIMP para optimizar el GIF resultante del n.° 2; no estoy 100% seguro de cómo funciona, pero creo que básicamente elimina información duplicada de un fotograma al siguiente.

Captura de pantalla de GIMP

información relacionada