Wie optimiere ich doppelte Bilder in einem animierten GIF mit Photoshop?

10

Ich habe mit einer Technik namens Cinemagraphs experimentiert . Diese Technik erstellt animierte GIFs, bei denen nur ein kleiner Teil der Szene animiert wird. Hier ist eine kurze, die ich gerade gemacht habe:

Geben Sie hier die Bildbeschreibung ein

Bisher leistet Photoshop gute Arbeit beim Komprimieren der statischen Teile der Szene. Wenn Sie nur den beweglichen Teil maskieren, können Sie mehrere Megabyte sparen.

Geben Sie hier die Bildbeschreibung ein

Was Photoshop nicht gut optimiert, sind die duplizierten Frames. Um eine nahtlose Schleife zu erhalten, dupliziere ich alle Frames und kehre sie um. Im obigen Beispiel dreht sich der Nachrichtensprecher nach links und muss zu seiner ursprünglichen Position zurückkehren. Dies verdoppelt immer die Größe des GIF . Wie kann ich Photoshop anweisen, die duplizierten Frames genauso zu optimieren wie die statischen Bereiche? Im Menü des Timeline-Bedienfelds habe ich bereits die Option "Animationen optimieren" verwendet, aber das hat nichts bewirkt ...

JoJo
quelle
Ich glaube nicht, dass Photoshop einen Mechanismus hat, um "doppelte Frames" zu sehen. Es werden lediglich ähnliche Pixel zwischen Frames angezeigt. Und selbst dann glaube ich nur dem vorherigen und nächsten Frame.
Scott
@Dominic Ich habe keine Kontrolle über CSS / JS. Ich werde diese Gifs auf anderen Websites veröffentlichen. Scott: Weißt du, wie PS die statischen Teile von den dynamischen Teilen trennt? Ist es ein Begrenzungsrahmen (Kreis, Dreieck usw.)? Wie viele dynamische Bereiche sind zulässig? Usw.
JoJo

Antworten:

3

Wenn ich Ihre Frage verstehe, haben Sie eine Animation mit (sagen wir) 5 Bildern. Die Bilder 1 und 5, 2 und 4 sind identisch. Sie möchten also, dass Photoshop das GIF wie folgt spielt: 1,2,3,2,1.

Leider ist das mit einem animierten GIF nicht möglich. Gifs ermöglichen das Streamen der Daten und zeigen den nächsten Frame nacheinander an, während die Daten geladen werden. Der erste Frame wird als global betrachtet und seine Daten können in jedem nachfolgenden Frame verwendet werden. Der erste Frame legt also die Basis fest, und "Animation optimieren" macht identische Pixel in Frames über den ersten hinaus transparent. Es gibt also keine Möglichkeit, einen vorherigen Frame wiederzugeben. Sie müssen durchlaufen werden, auch wenn ein Frame mit dem aktuellen identisch ist. Wikipedia erklärt es ausführlicher als ich.

Vor langer Zeit habe ich etwas Ähnliches gemacht (siehe Menü), was Sie über Javascript und nummerierte Sequenzen von JPGs suchen. Das Skript spielt die Bilder 1-10 beim Mouseover und dann 10-1 beim Mouseout ab.

Feuer Flug
quelle