¿Cómo optimizar cuadros duplicados en un GIF animado usando Photoshop?

He estado experimentando con una técnica llamada cinemagraphs . Esta técnica crea GIF animados en los que solo se anima una pequeña parte de la escena. Aquí hay uno rápido que acabo de hacer:

ingrese la descripción de la imagen aquí

Hasta ahora, Photoshop hace un buen trabajo al comprimir las partes estáticas de la escena. Al enmascarar solo la parte móvil, puede ahorrar varios megabytes.

ingrese la descripción de la imagen aquí

Lo que Photoshop no está optimizando bien son los marcos duplicados. Para obtener un bucle continuo, duplico todos los fotogramas y los invierto. En el ejemplo anterior, la presentadora de noticias gira hacia la izquierda y necesita volver a su posición original. Esto siempre duplica el tamaño del GIF . ¿Cómo le digo a Photoshop que optimice los marcos duplicados al igual que optimiza las áreas estáticas? En el menú del panel Línea de tiempo, ya usé la opción "Optimizar animaciones", pero eso no hizo nada...

No creo que Photoshop tenga ningún mecanismo para ver "marcos duplicados". Simplemente ve píxeles similares entre fotogramas. E incluso entonces, solo creo en el cuadro anterior y siguiente.
@Dominic No tendré control sobre el CSS/JS. Estaré publicando estos gifs en otros sitios. Scott: ¿Sabe cómo divide PS las partes estáticas de las partes dinámicas? ¿Es un cuadro delimitador (círculo, triángulo, etc...)? ¿Cuántas áreas dinámicas están permitidas? Etc...

Respuestas (1)

Si entiendo su pregunta, tiene una animación con (digamos) 5 cuadros. Los marcos 1 y 5, 2 y 4 son idénticos. Así que te gustaría que Photoshop reproduzca el gif así: 1,2,3,2,1.

Lamentablemente, eso es imposible con un gif animado. Los gifs están creados para permitir que los datos se transmitan, mostrando el siguiente cuadro en secuencia a medida que se cargan los datos. El primer cuadro se considera global y sus datos se pueden utilizar en todos los cuadros posteriores. Entonces, el primer cuadro establece la base, luego "Optimizar animación" convierte los píxeles idénticos en transparentes en los cuadros más allá del primero. Por lo tanto, no hay forma de reproducir un cuadro anterior, deben ejecutarse incluso si un cuadro es idéntico al actual. Wikipedia lo explica con más detalle que yo.

Hace mucho tiempo, hice algo similar (echa un vistazo al menú) a lo que estás buscando a través de javascript y secuencias numeradas de jpg. El script reproduce las imágenes 1-10 al pasar el mouse, luego 10-1 al alejar el mouse.