Zoptymalizuj rozmiar animowanego GIF-a w wierszu poleceń

27

Jak kompresować animacje GIF? Na przykład poprzez zmniejszenie indeksu kolorów.

Pliki są generowane za pomocą Imagemagick, ale optymalizacja wydaje się skomplikowana .

Na przykład następująca animacja ma rozmiar 864 KB przy rozmiarze 150 x 119:

przykładowa animacja

Do użytku na komputerze z systemem Linux.

qubodup
źródło
Zobacz także Czy istnieje coś takiego jak pngcrush dla GIF-ów? na przepełnienie stosu, aby uzyskać więcej odpowiedzi.
użytkownik

Odpowiedzi:

40

Użyj gifsicle (dostępny dla Mac OS X , Windows , DOS, Debian, FreeBSD i NetBSD).

gifsicle -i anim.gif -O3 --colors 256 -o anim-opt.gif

Spowoduje to optymalizację i zmniejszenie do 256 kolorów, jeśli animacja wykorzystuje więcej kolorów (przykładowy obraz robi).

Możesz zmniejszyć rozmiar, zmniejszając liczbę kolorów:

przykładowy obraz zawierający tylko 256 kolorów 512 KB, 256 kolorów

przykładowy obraz zawierający tylko 128 kolorów 412 KB, 128 kolorów

przykładowy obraz z tylko 64 kolorami 340 KB, 64 kolory

przykładowy obraz z tylko 32 kolorami 240 KB, 32 kolory

przykładowy obraz z tylko 16 kolorami 140 KB, 16 kolorów

Na podstawie innego pytania i odpowiedzi .

qubodup
źródło
1
Dziękuję za odpowiedź. Bardzo mi pomogło. Uzyskałem najlepszy wynik, używającgifsicle -i anim.gif --optimize=3 -o anim-opt.gif
Mostafa Ahangarha
działa świetnie! z jakiegoś dziwnego powodu używam skryptu powłoki, który używa imagemagick i dziwnie to nie działa z gifami, które otrzymaliśmy z filmów za pośrednictwem końcowego cięcia pro (eksportowanego jako sekwencja obrazów), a następnie eksportowanego przez Photoshop, ale w przeciwnym razie działa na innych gifach.
SMT
Dostępne również w portach FreeBSD: freshports.org/graphics/gifsicle
Mateusz Piotrowski
Czy możesz wyjaśnić, co oznacza -03?
Jacob,