Wie viele Farben kann ein GIF haben?
Bis zu 256 pro Palette. Jeder Pixel speichert einen 8-Bit-Index (0–255) in eine Farbtabelle, und jeder Tabelleneintrag ist eine 24-Bit-RGB-Farbe. Die 256 Farben können also beliebige 256 der 16,7 Millionen RGB-Farben sein.
Palettengrößen sind Zweierpotenzen: 2, 4, 8, 16, 32, 64, 128 oder 256 Einträge. Ein GIF kann eine globale Palette für die ganze Datei und eine lokale Palette für jeden Frame haben. Mit lokalen Paletten kann eine Animation in verschiedenen Frames unterschiedliche Farben verwenden, ein normaler Frame zeigt aber trotzdem höchstens 256. (Ein seltener Trick stapelt mehrere Teilbilder pro Frame, um mehr Farben zu zeigen, doch die Dateien werden riesig und manche Apps stellen sie falsch dar.)
Warum GIFs nur 256 Farben unterstützen
Das GIF-Format wurde 1987 entwickelt, als 256 Farben für Computerbildschirme als großzügig galten. Es verwendet 8-Bit-indizierte Farben: Jeder Pixel speichert einen Index (0–255), der auf eine Farbe in einer Nachschlagetabelle (der Palette) verweist. Die Palette enthält bis zu 256 Farben, die jeweils als RGB-Triplett definiert sind.
Die wichtigste Erkenntnis: Diese 256 Farben können beliebige 256 Farben aus dem gesamten 16,7-Millionen-RGB-Farbraum sein. Ein GIF eines Sonnenuntergangs kann 256 Orange-, Rot- und Violetttöne verwenden. Ein GIF eines Waldes kann 256 Grüntöne verwenden. Die Herausforderung besteht darin, die richtigen 256 Farben für Ihren spezifischen Inhalt auszuwählen.
Warum die Palettenauswahl wichtig ist
Eine generische „websichere" Palette verwendet einen festen Satz von 216 Farben, die über das Spektrum verteilt sind. Bei Videoinhalten liefert dies schlechte Ergebnisse, da die Farben möglicherweise überhaupt nicht zu Ihrem Video passen.
Eine benutzerdefinierte Palette analysiert die tatsächlichen Pixel in Ihrem Video und wählt die 256 Farben aus, die den Inhalt am besten repräsentieren. Die Verbesserung ist dramatisch — Farben wirken natürlich, Farbverläufe sind glatter und Details bleiben erhalten.
Unser Konverter nutzt den Zwei-Pass-Ansatz von FFmpeg: Zuerst wird das Video analysiert, um eine optimale Palette zu generieren (palettegen), dann wird diese Palette zur Erstellung des GIFs angewendet (paletteuse). Das liefert deutlich bessere Ergebnisse als Ein-Pass-Tools.
Methoden zur Palettengenerierung
Full-Modus (stats_mode=full)
Analysiert alle Pixel in allen Einzelbildern, um eine einzige globale Palette zu erstellen. Am besten für Videos mit vielfältigen, wechselnden Inhalten wie Filmclips, Actionszenen und Musikvideos, bei denen die Farben zwischen den Einzelbildern variieren.
Diff-Modus (stats_mode=diff)
Zählt nur Pixel, die sich zwischen Einzelbildern ändern. Besser für Videos mit statischem Hintergrund wie Bildschirmaufzeichnungen, Präsentationen und Talking-Head-Videos. Erzeugt kleinere Dateien, da mehr Paletteneinträge dem sich ändernden Inhalt und weniger dem unveränderten Hintergrund zugewiesen werden.
Single-Modus (stats_mode=single)
Erstellt für jedes Einzelbild eine neue Palette. Bietet die höchstmögliche Qualität, da jedes Bild eine optimierte Palette erhält, erzeugt aber größere Dateien. Am besten für fotografische Inhalte, bei denen Farbgenauigkeit entscheidend ist.
Abwägungen bei der Farbanzahl
| Farben | Qualität | Größenersparnis | Am besten für |
|---|---|---|---|
| 256 | Bestmöglich | Basislinie | Fotografische Inhalte |
| 128 | Kaum unterschiedlich | 15–25 % | Optimaler Kompromiss für die meisten Inhalte |
| 64 | Leichtes Banding | 30–45 % | Bildschirmaufzeichnungen |
| 32 | Erkennbare Posterisierung | 45–60 % | Nur einfache Grafiken |
| 16 | Deutliche Verschlechterung | 60–75 % | Logos, Pixel Art |
Dithering: fehlende Farben simulieren
Dithering nutzt Muster verfügbarer Farben, um Farben zu simulieren, die nicht in der Palette enthalten sind. Es ist der Unterschied zwischen hartem Farbbanding und glatt aussehenden Farbverläufen.
- Kein Dithering: ordnet jeden Pixel der nächstgelegenen Palettenfarbe zu. Am schnellsten, kleinste Dateien, zeigt aber sichtbares Banding bei Farbverläufen. Am besten für flache Farbinhalte wie Logos und Pixel Art.
- Bayer (geordnet): verwendet ein deterministisches Schraffurmuster. Das regelmäßige Muster lässt sich gut komprimieren und ist daher die beste Wahl, wenn die Dateigröße entscheidend ist. Leicht sichtbares Muster bei näherer Betrachtung. Weniger Farben und leichteres Dithering sind zwei der Methoden aus GIF-Dateigröße reduzieren.
- Floyd-Steinberg (Fehlerdiffusion): verteilt den Quantisierungsfehler auf benachbarte Pixel. Erzeugt die natürlichsten Ergebnisse für fotografische Inhalte. Größere Dateien aufgrund zufällig wirkender Pixelmuster.
- Sierra2: verbesserte Fehlerdiffusion mit breiterem Verteilungskernel. Liefert Ergebnisse zwischen Floyd-Steinberg und Bayer in Bezug auf Qualität und Dateigröße. Unsere empfohlene Standardeinstellung.
Empfehlungen nach Inhaltstyp
| Inhalt | Palettenmodus | Farben | Dithering |
|---|---|---|---|
| Bildschirmaufzeichnung | diff | 128 | Bayer |
| Filmclip | full | 256 | Sierra2 |
| Logo-Animation | full | 64 | Kein |
| Fotografie | single | 256 | Floyd-Steinberg |
Moderne Alternativen mit besserer Farbunterstützung
Wenn die 256-Farben-Beschränkung von GIF für Ihren Inhalt nicht akzeptabel ist, ziehen Sie diese Alternativen in Betracht:
- WebP-Animation: 24-Bit-Farbe (16,7 Mio. Farben), volle Alpha-Transparenz, verlustbehaftet etwa 64 % kleiner als GIF (Angaben von Google). Wird von über 97 % der Browser unterstützt.
- APNG: volle PNG-Qualität mit 24-Bit-Farbe und 8-Bit-Alpha. Gleiche Browserunterstützung wie WebP. Am besten, wenn Sie Transparenz mit voller Farbe benötigen.
- MP4/WebM: Millionen von Farben, wesentlich kleinere Dateien. Verwenden Sie
<video autoplay loop muted playsinline>auf Websites.
Vergleichen Sie alle Optionen in unserem Vergleich animierter Formate.
Warum ändert mein GIF die Farben?
- Eine Palette für den ganzen Clip. Wechselt ein Clip von einem blauen Himmel in einen roten Raum, muss eine einzige Palette beides abdecken, sodass jede Szene weniger exakte Farben erhält.
- Die Palette wechselt zwischen Frames. Mit Paletten pro Frame kann dasselbe Objekt in jedem Frame leicht anderen Farben zugeordnet werden, was wie Flackern aussieht.
- Das Dithering-Rauschen bewegt sich. Fehlerdiffusionsmuster ändern sich von Frame zu Frame und flimmern auf einfarbigen Flächen.
- Erneutes Speichern eines vorhandenen GIFs wählt eine neue Palette aus bereits reduzierten Farben, sodass jede Speicherung weiter abweicht.
Der Konverter auf dieser Seite erstellt mit FFmpeg palettegen=max_colors=256:stats_mode=diff eine Palette für den ganzen Clip, sodass die Farben zwischen den Frames konsistent bleiben und die bewegten Bereiche bevorzugt werden. Er dithert mit Sierra-2 und aktualisiert nur geänderte Rechtecke (diff_mode=rectangle).