Firefox 渲染HTML5动画服务器端?

Firefox 渲染HTML5动画服务器端?,firefox,html,video,audio,screenshot,Firefox,Html,Video,Audio,Screenshot,我们正在使用HTML5+Javascript创建动画。现在,我们想将这些动画转换为视频文件(MPEG4或其他,没关系),这样浏览困难的人也可以看到动画。动画包含音频轨迹 我们正在寻找在服务器端呈现和记录HTML页面的解决方案。我知道已经有一些工具可以呈现网页缩略图等静态图像。然而,在我们的用例中,我们应该输出一个视频文件 有什么选择?headless X server+Firefox是一条出路吗?我们最好在云中运行它(AmazonEC2) 另外,如果在以非实时速度播放动画时,我们需要考虑一些特殊

我们正在使用HTML5+Javascript创建动画。现在,我们想将这些动画转换为视频文件(MPEG4或其他,没关系),这样浏览困难的人也可以看到动画。动画包含音频轨迹

我们正在寻找在服务器端呈现和记录HTML页面的解决方案。我知道已经有一些工具可以呈现网页缩略图等静态图像。然而,在我们的用例中,我们应该输出一个视频文件

有什么选择?headless X server+Firefox是一条出路吗?我们最好在云中运行它(AmazonEC2)


另外,如果在以非实时速度播放动画时,我们需要考虑一些特殊的事情,我想听听-例如,将HTML5音频与动画同步。

听起来很有趣。我对QtWebKit库做了类似的事情,它需要一个无头X服务器来运行。我所做的是大规模地将网页转换成PDF格式。搜索一些webkit2pdf工具来查看可以构建的示例可能是有意义的


我会看一看这个库,并将它与另一个录制解决方案结合起来。

根据您的动画,一件可能有效的事情是基本上创建一个动画gif。有了足够多的动画静止图像串在一起,您应该能够使用正确的软件将它们转换为视频。这是一个相当暴力的解决方案,但如果你能以“逐帧”的方式推进动画,它可能会起作用。

请注意,我们通过

  • 在无头服务器上运行Firefox。一个有像样的显卡的服务器

  • 使用Selenium Python控制脚本启动/停止渲染

  • 一个自定义渲染循环,它将使用Firefox的XPCom API直接在编码管道中提供原始像素

  • 自定义Javascript渲染循环,其中时钟不来自实际时钟,但它以非实时的稳定帧速率将帧切片到渲染器


这是一个相当复杂的系统,因此不能放在一个答案框中:(

就工具而言,我对这些Ruby工具有相当不错的体验:

  • 支持使用ffmpeg进行视频捕获
  • 将允许您驾驶例如firefox

我不知道他们是如何处理音频的,不过

你可以使用GStreamerI将音频和视频混合在一起。我很好奇,现在几年过去了,所有浏览器都发生了很大的变化,你对这个答案是否有任何更新。仍然使用这个解决方案吗?是的,我设法解决了这个问题,并在服务器端渲染了webGL。只需运行动画循环滴答地循环,捕获像素内容并将其编码为原始帧或视频。Hii Mikko,我有一个web应用程序,用户可以在其中创建动画,我想在服务器端将这些动画渲染为视频,您能提供您的回复或任何解决我的问题的方法吗?我正在努力,谢谢