如何解决在服务器端渲染HTML5动画?
| 我们正在使用HTML5 + Javascript创建动画。现在,我们希望将这些动画转换为视频文件(MPEG4或其他格式无关紧要),以便具有浏览器挑战的人们也可以看到这些动画。动画包含音轨。 我们正在寻找将HTML页面呈现并记录在服务器端的解决方案。我知道已经存在用于渲染网页缩略图等静态图像的工具。但是,在我们的用例中,我们应该输出视频文件。 有什么选择?无头X服务器+ Firefox是否可行?最好我们将在云(Amazon EC2)中运行它。 另外,如果在以非实时速度播放动画时需要考虑一些特殊之处,我想听听-例如将HTML5音频与动画同步。解决方法
只是为了说明我们已经通过以下方式解决了这个问题
在无头服务器上运行Firefox。带有体面显卡的服务器。
使用Selenium Python控制脚本来启动/停止渲染
一个自定义渲染循环,它将使用Firefox的XPCom API直接在编码管道中提供“ 0”个原始像素
一个自定义Javascript渲染循环,其中时钟不是来自真实时钟,而是以非实时的稳定帧速率将帧切片到渲染器
相当复杂的系统,所以不适合一个答案框:(
,根据您的动画,可能有用的一件事就是创建一个动画gif。将足够的动画静止图像串在一起,您应该能够使用正确的软件将其转换为视频。这是一个蛮力的解决方案,但是如果您可以“逐帧”方式播放动画,则可能会起作用。
,听起来不错。我对QtWebKit库执行了类似的操作,该库要求运行无头X服务器。我正在做的是将网页大规模转换为PDF。搜索一些webkit2pdf工具以查看可以构建的示例可能很有意义。
我将看一下该库,并将其与另一个记录解决方案结合起来。
,在工具方面,我对这些Ruby工具有相当不错的经验:
无头宝石支持使用ffmpeg进行视频捕获
水豚将允许您驾驶例如火狐
我不知道他们如何处理音频
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。