我想从视频元素中获取原始数据(TypedArray 或其他东西)并使用 JavaScript 操作它们。
目前我创建了一个新的画布,将视频绘制到画布中,然后获取图像数据。
ctx.drawImage(myVideo);
var data = ctx.getImageData(0, 0, w, h).data;
它工作正常,但它会消耗 CPU(将视频放到画布上并从画布复制回来)并且会产生大量垃圾(每秒大约 50 MB)。还有其他更简单的解决方案吗?如果我可以将自己的缓冲区传递给 getImageData(...),那就太好了。
顺便提一句。使用 WebGL 绘制视频并从 GPU 加载回来并没有更快:( http://jsperf.com/getting-raw-data-from-video