【发布时间】:2017-06-03 14:19:42
【问题描述】:
这个问题可能很奇怪,但假设我们有一个画布,例如绘制一些像 experiment 这样的 3D 内容。
不管使用 ThreeJS、Babylon 或任何其他库来达到相同的效果,是否可以设置一些间隔来复制每个体素的诞生并在以后重复(重绘)它。
我只是想记录画布绘制过程并重播它,而不使用 RTC 、视频或图像序列。
做了什么?
我一直在尝试 WebGl Context 和Stream Capture,可惜没能达到预期的效果。
有人可以帮忙吗?
【问题讨论】:
-
您是如何尝试流捕获的?在给定的example link 中它对我很有效。将其复制到控制台中:
let s = mycanvas.captureStream(), r = new MediaRecorder(s), chunks = []; r.ondataavailable = e => chunks.push(e.data); r.onstop = e => { window.open(URL.createObjectURL(new Blob(chunks))); }; r.start(); setTimeout(_=>r.stop(), 3000); -
@Kaiido 非常感谢您的评论,我做到了,但这个 blob 实际上是一个 webm 视频,在我的情况下实际上不是最佳解决方案,因为它的大小会很大。你能把这个添加为答案吗?
标签: javascript html5-canvas webgl pixel-manipulation webgl2