Gifs incrustados en publicaciones se pausan después de descargados localmente

Hola,

Tengo un problema al incrustar GIFs personalizados (creados con ScreenToGif) en publicaciones de Discourse. Cuando incrusto un GIF, funciona un momento y luego se congela en el primer cuadro, por ejemplo:

Parece funcionar como se espera en la vista previa de la publicación. Y cuando abro el GIF subido en una nueva pestaña, también funciona allí. Solo se congela en el propio Discourse.

He probado cuatro soluciones alternativas:

  1. Subir el GIF a otro sitio web (por ejemplo, un bucket de S3) y luego enlazarlo. Esto funciona hasta que el bot del sistema lo descarga localmente, momento en el cual se vuelve a congelar.

  2. También pensé que esto podría tener algo que ver con el redimensionamiento, así que intenté eliminar el formato Markdown de la imagen, por ejemplo:

    ![](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    

    en lugar de:

    ![example|690x383](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    
  3. Dado que el GIF funcionaba cuando seguía el enlace a una nueva pestaña, intenté reemplazar el URI abreviado “upload” con la URL completa de la imagen subida, por ejemplo:

    ![example|690x383](https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif)
    
  4. Finalmente, pensé que el problema podría tener algo que ver con la interpretación del código Markdown por parte de Discourse, así que intenté usar una etiqueta de imagen HTML en bruto con la URL completa de la imagen subida:

    <img src="https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif">
    

Por desgracia, nada funcionó. Si yo controlara el foro donde quiero publicar, sé que podría desactivar las descargas locales. ¡Pero por desgracia, no lo hago!

Dado que funciona aquí pero no en tu sitio, te sugiero que realices una reconstrucción de tu sitio e intentes de nuevo. Hemos realizado muchos cambios recientes relacionados con los GIF. Durante algunos periodos tuvimos errores como el que describes, y es posible que tu sitio esté en una versión afectada.

No creo que ese sea el problema. Para mí, no funciona aquí. Solo puedo ver el primer fotograma.

¿Es posible que haya alguna otra configuración predeterminada de Chrome que esté interfiriendo?

¡Oh, puedo reproducirlo en Chrome! Qué raro.

Original

Optimizado con Gifscicle
weird_optimized

Después de pasarlo por Gifscicle, funciona:

Gracias por reproducirlo. ¿Qué comando gifcicle ejecutaste para optimizar?

Es tan simple:

gifscicle original.gif -o fixed.gif

Por cierto, Discourse incluye soporte para reproducción automática de mp4 y WEBP, ¡lo que podría darte mejores resultados!

No creo que sea un problema de tamaño de archivo, porque he probado con gifs mucho más grandes y pequeños sin éxito.

Genial, déjame ver si esto funciona con mis GIFs reales. Actualizaré cuando termine.

Definitivamente no es un problema de tamaño de archivo, sino un archivo “malformado” que gifscicle está corrigiendo. Es común ver que algunas herramientas generan archivos incorrectos. Siempre paso mis GIFs a una buena herramienta como ffmpeg antes de compartirlos. Pero incluso así, puedes obtener fácilmente un archivo malformado si las dimensiones son impares, por ejemplo.

GIF es un formato complicado, y hoy en día hay mejores opciones como MP4 y WEBP para la mayoría de las aplicaciones.

Funcionó para todos mis GIF. También tuve que agregar la bandera --colors 256 en algunos casos.

Para cualquiera que se pregunte, generé los GIF con errores originales usando el generador de GIF “Red Neuronal” de ScreenToGif.

Gracias por tu ayuda @Falco

@nbianca ¿Tienes alguna idea de por qué la miniatura del GIF no está animada? Parece que el GIF original está bien dentro de los límites.

Se anima en Firefox. O es un GIF malformado o un error de Chrome.

No se ve animado para mí en la última versión de FF / Windows 10.

¡Interesante! Así es como se ve para mí en Linux: Firefox a la izquierda y Chrome a la derecha:

Todos los GIFs en este tema se muestran animados para mí (Chrome en Arch Linux), pero la versión actual de FastImage indica que no están animados debido a este error.

En ese caso, deberíamos impulsar que se fusione lo antes posible :+1:

Por si sirve de algo, he encontrado un par de casos en los que gifsicle no funciona. Específicamente, a veces es necesario usar --colors 256 para obtener un GIF funcional. Pero en otras ocasiones, es imprescindible omitir esa opción.

Hola,

La solución para tu problema ha sido aceptada y ahora está disponible en la última versión.