Wie schätze ich die Größe einer GIF-Datei?
Wir bauen einen Online-Videobearbeitungsservice auf. Mit einer der Funktionen können Benutzer ein kurzes Segment aus ihrem Video als animiertes GIF exportieren. Imgur hat eineDateigrößenbeschränkung 2 MB pro hochgeladenem animiertem GIF.
Die Größe der GIF-Datei hängt von der Anzahl der Frames, der Farbtiefe und dem Bildinhalt selbst ab: Eine durchgehende, flache Farbe führt zu einem sehr leichten GIF, während einige zufällige Farben bei TV-Rauschanimationen recht schwer sind.
Zuerst exportiere ich jedes Videobild als PNG mit der endgültigen GIF-Bildgröße (fest, 384x216).
Um die Gif-Qualität zu maximieren, versuche ich mehrere Gif-Rendering-Versuche mit leicht unterschiedlichen Parametern - je nach Anzahl der Frames und Farben in der Gif-Palette. Das Rendering mit der besten Qualität unter der Dateigrößenbeschränkung wird in Imgur hochgeladen.
Jedes Rendern benötigt Zeit und CPU-Ressourcen - dies möchte ich optimieren.
Frage: Was könnte eine clevere Methode sein, um die besten Rendereinstellungen in Abhängigkeit von den tatsächlichen Bildern zu schätzen, um sie so nah wie möglich an die Dateigrößenbeschränkung anzupassen und die Anzahl der Renderversuche zumindest auf 2 bis 3 zu minimieren?