2011-04-27 29 views
8

Estamos creando animaciones usando HTML5 + Javascript. Ahora, nos gustaría convertir estas animaciones en archivos de video (MPEG4, u otro, no importa) para que las personas con problemas de navegación también puedan ver las animaciones. Las animaciones contienen una pista de audio.Renderización animación HTML5 del lado del servidor?

Estamos buscando soluciones donde la página HTML se renderice y grabe en el lado del servidor. Sé que existen herramientas para renderizar miniaturas de páginas web, etc. Sin embargo, en nuestro caso de uso deberíamos generar un archivo de video.

¿Qué opciones hay? ¿El servidor X sin cabeza + Firefox es un camino por recorrer? Preferiblemente estaríamos ejecutando esto en una nube (Amazon EC2).

También si hay algo especial que necesitaríamos pensar al reproducir animaciones en velocidades no en tiempo real, me gustaría escuchar, por ejemplo, sincronización de audio HTML5 con animación.

Respuesta

3

para notar que hemos resuelto este problema

  • Ejecución de Firefox en un servidor sin cabeza. Un servidor con una tarjeta gráfica decente.

  • Tener una secuencia de comandos de control de selenio Python para iniciar/detener el procesamiento

  • Un bucle prestación personalizada que utilice la API xpcom de Firefox para alimentar <canvas> píxeles primas directamente en la canalización de codificación

  • Una costumbre Javascript prestación bucle donde el reloj no proviene de un reloj real, pero rebana tramas al procesador de imágenes por segundo en un estable, que no es en tiempo real

Todo un sistema complejo, por lo que no cabe en una caja respuesta :(

0

Suena interesante. He hecho algo similar con la biblioteca QtWebKit que requiere la ejecución de un servidor X sin cabeza. Lo que estaba haciendo era convertir páginas web a PDF a gran escala. Puede tener sentido buscar algunas herramientas webkit2pdf para ver un ejemplo del que puedes construir.

Me gustaría echar un vistazo a la biblioteca y combinarla con otra solución de grabación.

2

Una cosa que podría funcionar, dependiendo de tu animación, sería esencialmente crear un gif animado. Con suficientes imágenes fijas de su animación agrupadas, debería poder convertirlas en un video con el software adecuado. Esta es una solución más bien de fuerza bruta, pero si puede avanzar a través de su animación en una forma "fotograma a fotograma", podría funcionar.

0

En cuanto a las herramientas que he tenido una experiencia bastante decente con estas herramientas de Ruby:

  • la headless gem soporta captura de vídeo con ffmpeg
  • capybara le permitirá conducir, por ejemplo Firefox.

no tengo ni idea acerca de cómo se ocupan de audio, aunque

+0

Usted puede mezclar en audio al vídeo usando GStreamer –

Cuestiones relacionadas