Pourquoi les GIF ne prennent en charge que 256 couleurs
Le format GIF a été conçu en 1987, à une époque où 256 couleurs étaient considérées comme généreuses pour les écrans d'ordinateur. Il utilise des couleurs indexées sur 8 bits : chaque pixel stocke un index (0–255) qui référence une couleur dans une table de recherche (la palette). La palette contient jusqu'à 256 couleurs, chacune définie comme un triplet RGB.
L'idée clé : ces 256 couleurs peuvent être n'importe quelles 256 couleurs parmi les 16,7 millions de l'espace colorimétrique RGB complet. Un GIF d'un coucher de soleil peut utiliser 256 nuances d'orange, de rouge et de violet. Un GIF d'une forêt peut utiliser 256 nuances de vert. Le défi consiste à choisir les bonnes 256 couleurs pour votre contenu spécifique.
Pourquoi le choix de la palette est important
Une palette « web-safe » générique utilise un ensemble fixe de 216 couleurs réparties sur le spectre. Pour du contenu vidéo, cela produit des résultats médiocres car les couleurs peuvent ne pas correspondre du tout à votre vidéo.
Une palette personnalisée analyse les pixels réels de votre vidéo et sélectionne les 256 couleurs qui représentent le mieux le contenu. L'amélioration est spectaculaire — les couleurs paraissent naturelles, les dégradés sont plus lisses et les détails sont préservés.
Notre convertisseur utilise l'approche en deux passes de FFmpeg : d'abord analyser la vidéo pour générer une palette optimale (palettegen), puis appliquer cette palette pour créer le GIF (paletteuse). Cela produit des résultats nettement meilleurs que les outils en une seule passe.
Méthodes de génération de palette
Mode complet (stats_mode=full)
Analyse tous les pixels de toutes les images pour construire une palette globale unique. Idéal pour les vidéos à contenu varié et changeant comme les extraits de films, les séquences d'action et les clips musicaux où les couleurs varient d'une image à l'autre.
Mode diff (stats_mode=diff)
Ne compte que les pixels qui changent entre les images. Meilleur pour les vidéos avec des arrière-plans statiques comme les enregistrements d'écran, les présentations et les vidéos de tête parlante. Produit des fichiers plus petits car il alloue plus d'entrées de palette au contenu changeant et moins à l'arrière-plan invariant.
Mode unique (stats_mode=single)
Crée une nouvelle palette pour chaque image. Offre la meilleure qualité possible puisque chaque image obtient une palette optimisée, mais produit des fichiers plus volumineux. Idéal pour le contenu photographique où la précision des couleurs est critique.
Compromis du nombre de couleurs
| Couleurs | Qualité | Économie de taille | Idéal pour |
|---|---|---|---|
| 256 | Meilleure possible | Référence | Contenu photographique |
| 128 | À peine différente | 15–25 % | Point idéal pour la plupart des contenus |
| 64 | Léger banding | 30–45 % | Enregistrements d'écran |
| 32 | Postérisation perceptible | 45–60 % | Graphiques simples uniquement |
| 16 | Dégradation importante | 60–75 % | Logos, pixel art |
Dithering : simuler les couleurs manquantes
Le dithering utilise des motifs de couleurs disponibles pour simuler des couleurs absentes de la palette. C'est la différence entre des bandes de couleurs abruptes et des dégradés d'apparence lisse.
- Sans dithering : mappe chaque pixel à la couleur de palette la plus proche. Le plus rapide, fichiers les plus petits, mais montre un banding visible sur les dégradés. Idéal pour le contenu à couleurs plates comme les logos et le pixel art.
- Bayer (ordonné) : utilise un motif de hachures déterministe. Le motif régulier se compresse bien, ce qui en fait le meilleur choix lorsque la taille du fichier est critique. Motif légèrement visible à l'inspection rapprochée.
- Floyd-Steinberg (diffusion d'erreur) : distribue l'erreur de quantification aux pixels voisins. Produit les résultats les plus naturels pour le contenu photographique. Fichiers plus volumineux à cause des motifs de pixels d'aspect aléatoire.
- Sierra2 : diffusion d'erreur améliorée avec un noyau de distribution plus large. Produit des résultats intermédiaires entre Floyd-Steinberg et Bayer en qualité comme en taille de fichier. Notre recommandation par défaut.
Recommandations par type de contenu
| Contenu | Mode de palette | Couleurs | Dithering |
|---|---|---|---|
| Enregistrement d'écran | diff | 128 | Bayer |
| Extrait de film | full | 256 | Sierra2 |
| Animation de logo | full | 64 | Aucun |
| Photographie | single | 256 | Floyd-Steinberg |
Alternatives modernes avec un meilleur support des couleurs
Si la limite de 256 couleurs du GIF est inacceptable pour votre contenu, envisagez ces alternatives :
- Animation WebP : couleur 24 bits (16,7 M de couleurs), transparence alpha complète, 50–70 % plus petit que GIF. Pris en charge par plus de 97 % des navigateurs.
- APNG : qualité PNG complète avec couleur 24 bits et alpha 8 bits. Même support navigateur que WebP. Idéal lorsque vous avez besoin de transparence avec des couleurs complètes.
- MP4/WebM : millions de couleurs, fichiers bien plus petits. Utilisez
<video autoplay loop muted playsinline>sur les sites web.
Comparez toutes les options dans notre comparaison des formats animés.