Как оптимизировать дублированные кадры в анимированном GIF с помощью Photoshop?

10

Я экспериментировал с техникой под названием cinemagraphs . Эта техника делает анимированные GIF-изображения, где анимируется только небольшая часть сцены. Вот быстрый, который я только что сделал:

введите описание изображения здесь

Пока что Photoshop хорошо справляется со сжатием статических частей сцены. Маскируя только движущуюся часть, вы можете сэкономить несколько мегабайт.

введите описание изображения здесь

Что Photoshop плохо оптимизирует, так это дублированные кадры. Чтобы получить бесшовную петлю, я дублирую все кадры и переворачиваю их. В приведенном выше примере диктор поворачивается влево и должен вернуться в исходное положение. Это всегда удваивает размер GIF . Как мне сказать Photoshop оптимизировать дублированные кадры так же, как это оптимизирует статические области? В меню панели «Таймлайн» я уже использовал опцию «Оптимизировать анимацию», но это ничего не дало ...

JoJo
источник
Я не верю, что у Photoshop есть какой-либо механизм, чтобы видеть «дублирующие кадры». Он просто видит похожие пиксели между кадрами. И даже тогда я верю только предыдущему и следующему кадру.
Скотт
@ Доминик Я не буду контролировать CSS / JS. Я буду публиковать эти картинки на других сайтах. Скотт: Вы знаете, как PS отделяет статические части от динамических частей? Это ограничивающий прямоугольник (круг, треугольник и т. Д.)? Сколько динамических областей разрешено? И т.д ...
JoJo

Ответы:

3

Если я понимаю ваш вопрос, у вас есть анимация с (скажем, 5) кадрами. Кадры 1 и 5, 2 и 4 идентичны. Итак, вы хотите, чтобы Photoshop играл в GIF следующим образом: 1,2,3,2,1.

К сожалению, это невозможно с анимированным GIF. GIF-файлы создаются для потоковой передачи данных, отображая следующий кадр в последовательности по мере загрузки данных. Первый кадр считается глобальным, и его данные могут использоваться в каждом последующем кадре. Таким образом, первый кадр устанавливает основу, а затем «Оптимизация анимации» делает идентичные пиксели прозрачными в кадрах за пределами первого. Таким образом, невозможно воспроизвести предыдущий кадр, он должен пройти, даже если кадр идентичен текущему. Википедия объясняет это более подробно, чем я.

Давным-давно я сделал нечто подобное (взгляните на меню) на то, что вы ищете через javascript и пронумерованные последовательности jpgs. Сценарий воспроизводит изображения 1-10 при наведении мыши, затем 10-1 при наведении мыши.

Огненный полет
источник