我想从视频元素中获取原始数据(TypedArray或其他),并使用JavaScript对其进行操作。
目前我创建了一个新的画布,将视频绘制到画布中,然后获取图像数据。
ctx.drawImage(myVideo);
var data = ctx.getImageData(0, 0, w, h).data;
它工作得很好,但它会耗尽CPU (将视频放到画布上,然后从画布复制回来),并且会产生大量的垃圾(大约每秒50MB)。有没有其他更简单的解决方案?如果我能把我自己的缓冲区传递给getImageData(...),那就太好了。
顺便说一句。使用WebGL绘制视频并将其从图形处理器加载回来并不会更快:( http://jsperf.com/getting-raw-data-from-video
发布于 2019-07-12 16:17:16
canvas{display:none}
可能有助于减少一些开销。Canvas仍然可以被js访问。
https://stackoverflow.com/questions/12130475
复制相似问题