8
votes

Rendu HTML5 Animation Server côté?

Nous créons des animations à l'aide de HTML5 + JavaScript. Maintenant, nous aimerions convertir ces animations en fichiers vidéo (MPEG4 ou autre, peu importe) afin que les personnes intervanglées navigables puissent également voir les animations. Les animations contiennent une piste audio.

Nous recherchons des solutions dans lesquelles la page HTML serait rendue et enregistrée sur le côté serveur. Je sais qu'il existe des outils pour rendant les vignettes de page Web, etc. Des images statiques déjà. Cependant, dans notre cas d'utilisation, nous devrions générer un fichier vidéo.

Quelles options y a-t-il? Est le serveur X sans tête + Firefox un moyen d'aller? De préférence, nous allions courir cela dans un nuage (Amazon EC2).

Également aussi s'il y a quelque chose de spécial, nous devrions penser que lors de la lecture d'animation dans des vitesses en temps non réel, j'aimerais entendre - par exemple. Synchronisation audio HTML5 avec animation.


1 commentaires

HII MIKKO, j'ai une application Web où un utilisateur peut créer des animations, je voudrais rendre ces animations à la vidéo sur le côté serveur, pouvez-vous fournir votre repo ou toute solution à mes problèmes? Je me débats si loin merci


4 Réponses :


0
votes

Cela semble intéressant. J'ai fait une chose similaire avec la bibliothèque Qtwebkit qui nécessite un serveur X à titre X à gérer. Ce que je faisais était de convertir des pages Web en PDF à grande échelle. Il peut être logique de rechercher des outils WebKit2PDF pour voir un exemple que vous pouvez entamer.

Je regarderais la bibliothèque et je vais le combiner avec une autre solution d'enregistrement.


0 commentaires

2
votes

Une chose qui pourrait fonctionner, selon votre animation, seraient essentiellement à créer un GIF animé. Avec suffisamment d'images fixes de votre animation enfilée, vous devriez être capable de les transformer en vidéo avec le bon logiciel. Il s'agit d'une solution de force plutôt brute, mais si vous pouvez avancer à travers votre animation dans une mode "image par cadre", cela pourrait fonctionner.


0 commentaires

4
votes

juste pour noter que nous avons résolu ce problème par

  • exécutant Firefox sur un serveur sans tête. Un serveur avec une carte graphique décente.

  • avoir un script de contrôle de sélénium python pour démarrer / arrêter le rendu

  • Une boucle de rendu personnalisée qui utilisera l'API XPCOM de Firefox pour nourrir pixels bruts directement dans le pipeline de codage

  • Une boucle de rendu JavaScript personnalisée où l'horloge ne vient pas d'une horloge réelle, mais il tranche des cadres au rendu sur un framérat stable qui n'est pas en temps réel

    Un système assez complexe, alors ne rentre pas dans une case de réponse: (


2 commentaires

Je suis curieux si vous avez une mise à jour de cette réponse, maintenant que les années sont passées et que tous les navigateurs ont changé un peu. Toujours en utilisant cette solution?


Oui, j'ai réussi à le résoudre et j'ai réussi à rendu WebGL sur le côté serveur. Il suffit d'exécuter la boucle d'animation Tick-By-tique, Capturer Contenu pixel et le coder comme des cadres bruts ou une vidéo.



0
votes

En termes d'outils, j'ai eu une expérience assez décente avec ces outils rubis:

  • the GEM sans tête prend en charge la capture vidéo avec FFMPEG
  • Capybara vous permettra de conduire par exemple. Firefox.

    Je n'ai aucune idée de la façon dont ils traitent de l'audio si


1 commentaires

Vous pouvez mélanger audio à la vidéo en utilisant gstreamer