⚡ Tecnología
Un tío metió un video completo dentro de un JPEG y Chrome lo reproduce sin JavaScript
Hay hacks inútiles. Y luego está esto: un desarrollador descubrió que puedes meter un video completo dentro de un archivo JPEG y Chrome lo reproduce sin necesidad de JavaScript, sin plugins, sin reproductor externo.
Así como lees. El formato JPEG, ese que usamos todos los días para subir memes y fotos de gatos, tiene una característica oculta llamada "progressive mode" que permite guardar una imagen en múltiples escaneos. Y resulta que si abusas de esa característica, puedes convertir un JPEG en un reproductor de video rudimentario.
Maurycy Zalecki (sí, ese es su nombre) se dio cuenta de que el JPEG progresivo divide la imagen en múltiples "scans" — básicamente capas de datos que el navegador va cargando progresivamente. Primero carga una versión borrosa, luego va añadiendo detalle hasta que la imagen se ve completa.
Zalecki se preguntó: ¿qué pasa si en lugar de mostrar la misma imagen con más detalle, cada scan muestra una imagen completamente diferente? La respuesta es tan absurda como brillante: obtienes una animación dentro de un JPEG.
Lo bautizó "Regressive JPEGs" y el concepto es simple pero retorcido. Básicamente, concatenó múltiples imágenes JPEG eliminando los marcadores de inicio y fin, de modo que el navegador interpreta todo como un solo archivo progresivo. Al cargarse, cada "scan" pinta un frame diferente en la misma posición.
En su forma más básica, Chrome puede reproducir hasta 90 frames de esta manera antes de rendirse. Firefox aguanta más. El resultado es una especie de "GIF oculto" dentro de un JPEG que ni siquiera necesita JavaScript para funcionar.
Lo más loco: Zalecki también creó una "aplicación de una sola página interactiva" con cero CSS y cero JavaScript, usando solo las etiquetas <dialog> de HTML y JPEGs regresivos. Sí, una SPA sin JS, usando imágenes como la lógica de "renderizado".
El post explotó en Hacker News con más de 400 puntos y 185 comentarios en cuestión de horas. Los comentarios van desde "esto es lo más inútil que he visto" hasta "esto es arte puro". Y tienen razón en ambas cosas.
Mientras Google y Meta pierden miles de millones intentando que la IA genere videos, este tipo logró lo mismo con un formato de imagen de 1992. Sin GPUs, sin transformers, sin redes neuronales. Solo puro conocimiento de cómo funcionan realmente los formatos de archivo que usamos todos los días.
Y aquí viene la lección real: el JPEG progresivo fue diseñado para mejorar la experiencia de usuarios con conexiones lentas. En lugar de esperar a que la imagen se descargue completa para verla borrosa, el navegador muestra una versión de baja resolución que se va refinando. Eso que parece un detalle menor es en realidad una muestra de cómo el software de los 90 pensaba en optimización de una forma que hoy hemos olvidado.
Hoy, una imagen promedio pesa 3MB y los frameworks de JS ocupan 200KB solo para el "hola mundo". Pero en los 90, cuando el JPEG se diseñó, cada byte importaba. Esa mentalidad de eficiencia es la que permitió este hack.
¿Sirve para algo práctico? No realmente. No hay forma de añadir control de tiempo, así que la reproducción depende enteramente de la velocidad de la red. Pero no todo tiene que ser práctico. A veces la belleza de la ingeniería está en hacer algo porque puedes hacerlo.
Comparte esto con alguien que todavía cree que el JPEG es solo para fotos de comida. Y la próxima vez que alguien te diga que necesitas JavaScript para algo, recuérdales que un formato de 1992 puede hacer video sin mover un solo script.
¿Qué otro formato crees que tiene secretos ocultos esperando ser descubiertos? Déjalo en los comentarios.