ASCILINE: motor de vídeo ASCII en tiempo real con WebSockets de bajo ancho de banda

Fuentes: ASCILINE: real-time ASCII video engine streamed over WebSockets

ASCILINE es un motor multiplataforma de renderizado de vídeo en tiempo real que convierte el contenido audiovisual en una rejilla de texto ASCII dibujada sobre un canvas HTML5. El proyecto, alojado en GitHub, combina un backend en Python con FastAPI, OpenCV y NumPy —encargado de decodificar el vídeo y mapear cada píxel a un carácter— con un frontend ligero en JavaScript vanilla que recibe los frames como datos binarios (Uint8Array) a través de WebSockets y los dibuja en el navegador. El sistema alcanza entre 24 y 30 FPS y sincroniza audio y vídeo usando la pista de audio como reloj maestro.

La propuesta se diferencia de los códecs clásicos como H.264 o VP9 en varios escenarios. En redes débiles o microcontroladores, donde los códecs estándar colapsan, ASCILINE procesa el trabajo pesado en el servidor y transmite apenas unos pocos kilobytes por frame. Además, al presentarse ante el navegador como "JavaScript actualizando un canvas", esquiva la throttling de autoplay y los bloqueadores de anuncios, y permite aplicar filtros CSS (neón, sombras, animaciones) directamente sobre el vídeo. La representación tipográfica estructurada facilita, según el autor, que modelos de lenguaje ligeros procesen resúmenes semánticos de vídeo.

La herramienta ofrece cinco modos de color (del blanco y negro a 16 millones de colores), un modo de píxeles con bloques de color, reproducción en bucle, listas JSON, modo carpeta y un códec adaptativo opcional que elige entre framebuffer crudo, compresión zlib o deltas temporales etiquetados con un encabezado de un byte. Según las mediciones publicadas con una rejilla de 200×80, el códec adaptativo reduce el tráfico a un 0,3 % en escenas estáticas, a un 11,6 % en modo píxel y nunca supera al protocolo original en escenas de mucho movimiento. Para depuración, la bandera --debug muestra en la terminal la comparación en vivo entre bytes brutos y bytes transmitidos. ASCILINE se ejecuta en Windows, macOS y Linux, y puede instalarse con pip y FFmpeg.