Volver al dev log

Dev log

DevLog #03: Cómo Convertir Animaciones HTML, Canvas y Three.js a Video MP4 a 60 FPS en el Navegador (Con Quién Competimos y Por Qué Ganamos)

Crónica técnica de cómo construimos un reproductor y renderizador offline determinista con WebCodecs y mp4-muxer. Comparamos nuestra arquitectura contra Remotion, Puppeteer y OBS, y explicamos por qué el render en cliente supera a los servidores.

Por Equipo de Ingeniería · Arquitectura WebGPU & Render Offline

  • devlog
  • canvas
  • webcodecs
  • mp4-muxer
  • threejs
  • gsap
  • remotion
  • video engineering
  • motion graphics

Con la explosión de modelos de IA como Claude 3.5 Sonnet, ChatGPT y Gemini, miles de creadores y desarrolladores están generando código HTML, animaciones con GSAP, efectos de partículas en Canvas 2D y escenas 3D en Three.js con un solo prompt. Sin embargo, existía un cuello de botella frustrante: **¿Cómo conviertes ese código HTML en un video MP4 nítido a 60 FPS para incluirlo en un video de YouTube, un Reel o un proyecto de edición sin instalar nada?**

Hoy lanzamos el Reproductor Canvas & HTML a Video MP4, una herramienta 100% gratuita que permite previsualizar cualquier animación con un timeline multipista profesional y exportarla a MP4 directamente desde el navegador. En este DevLog explicamos la arquitectura técnica, contra quién competimos en la industria y por qué nuestra solución en cliente es técnicamente superior.

Herramienta Interactiva

¿Quieres probar el Reproductor Canvas & HTML ahora?

Pega tu código HTML, controla cada frame con la línea de tiempo y exporta a MP4 a 60 FPS sin marcas de agua ni registro.

El Panorama Competitivo: ¿Con quién competimos y cuáles son sus límites?

Antes de construir esta solución, analizamos a fondo las 4 alternativas existentes en el mercado para convertir animaciones de código en video:

Pilar 1: El Secreto del Render Determinista con window.seekTo(t)

El gran defecto de grabar la pantalla en vivo es que la velocidad de render depende de la carga del procesador. Si el navegador tiene un hipo de 50 milisegundos, el video grabado da un tirón visible.

Para solucionar esto, establecimos un contrato determinista basado en la API window.seekTo(timeInSeconds). El motor del reproductor toma el control absoluto del tiempo: congela el canvas, sitúa la animación en el microsegundo exacto, espera dos cuadros de refresco (requestAnimationFrame) y extrae el frame de memoria GPU antes de avanzar al siguiente.

Bucle de captura determinista frame-by-frame con WebCodecs
for (let frameIndex = 0; frameIndex < totalFrames; frameIndex++) {
  const timeSec = frameIndex / fps;
  const timestampMicros = Math.round(timeSec * 1_000_000);

  // 1. Congelar y posicionar la animación en el tiempo exacto
  if (typeof iframeWin.seekTo === 'function') {
    iframeWin.seekTo(timeSec);
  }

  // 2. Esperar refresco de buffer del Canvas
  await waitFrames(2);

  // 3. Capturar frame directamente del GPU con VideoFrame
  const frame = new VideoFrame(canvas, { timestamp: timestampMicros });
  videoEncoder.encode(frame, { keyFrame: frameIndex % 60 === 0 });
  frame.close();
}

Pilar 2: WebCodecs + MP4-Muxer (H.264 Nativo sin FFmpeg en Servidor)

Históricamente, empaquetar un archivo MP4 con códec H.264 requería enviar gigabytes de imágenes a un servidor con FFmpeg o usar compilaciones pesadas de WebAssembly de 30 MB que sobrecalentaban el ordenador.

Nuestra arquitectura utiliza el estándar **WebCodecs API (VideoEncoder)** con el perfil avc1.4d002a (H.264 Main Profile 4.2) integrado directamente en el navegador. Las muestras comprimidas se envían al empaquetador ISO BMFF en memoria (mp4-muxer), generando un archivo .mp4 nativo listo para Premiere, DaVinci Resolve, Final Cut o CapCut en cuestión de segundos.

Pilar 3: Timeline Multipista y Galería de Plantillas en 1 Clic

A diferencia de un simple visor de código, dotamos a la herramienta de una interfaz de estudio:

Conclusión: La Web es la Nueva Estación de Trabajo de Video

Demostramos que no necesitas pagar por servidores en la nube ni instalar pesados entornos de desarrollo para renderizar animaciones de código con calidad de cine. El hardware moderno en tu navegador, combinado con WebGPU y WebCodecs, es más que suficiente para crear herramientas de creación de contenido instantáneas y gratuitas.

Herramienta Interactiva

Empieza a crear y exportar tus animaciones hoy

Totalmente gratis, sin marcas de agua y con aceleración por hardware.

Prueba el editor tal como está hoy

Todo lo que lees en el dev log ya corre en la beta pública.