将画布导出为视频

spi*_*ski 4 html5 animation export canvas

是否可以将画布动画导出到视频?我想构建一个工具,允许创建简单的动画,但我想将它们导出为.avi .mp4或任何视频格式.

这可能吗?如果是这样,我该怎么办?

小智 6

您可以尝试使用回调函数将一个侦听器注册到requestAnimationFrame,并在每次循环之后尝试捕获canvas png文件,使用html5的某些持久方法将其保存在服务器端或客户端的某处,并稍后使用其他软件(如ffmpeg)把它们放在一起形成一个视频文件.

  window.requestAnimFrame = (function(callback) {
    return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
    function(callback) {
      window.setTimeout(callback, 1000 / 60);
    };
  })();
Run Code Online (Sandbox Code Playgroud)

用于获取画布图像/ png信息的代码

var canvas = document.getElementById("mycanvas");
var img    = canvas.toDataURL("image/png");
Run Code Online (Sandbox Code Playgroud)


Adr*_*ang 5

好的。我知道我迟到了 7 年,但是:现在有一个完全满足您需求的图书馆!

Whammy.js编码视频。它工作得很好(但如果您还打算实时查看画布,则会减慢您的应用程序的速度)。

如果没有外部库,这很难做到,我不建议使用您自己的库。


rea*_*Pro 1

您可以使用屏幕捕获软件来指定画布所在的屏幕区域。

http://www.webresourcesdepot.com/10-free-screen-recording-softwares-for-creating-attractive-screencasts/

  • 我认为他的意图是创建一个网页,供人们制作动画并保存为视频文件。@user986871 如果我错了,请纠正我。 (2认同)