【发布时间】:2013-12-07 04:24:56
【问题描述】:
我尝试在 javascript 中进行一些视频处理。我读了一些关于它的文章,看起来每个人都使用 2 个画布来做这个把戏。首先,他们在第一个画布上绘制视频,从中读取图像数据,进行一些像素操作,然后在第二个画布上绘制它。我想知道我真的必须使用 2 个画布来做到这一点吗?没有办法直接从视频中抓取图像数据吗?或者我们有一些性能问题,这就是解决方案?
【问题讨论】:
标签: javascript html video canvas
我尝试在 javascript 中进行一些视频处理。我读了一些关于它的文章,看起来每个人都使用 2 个画布来做这个把戏。首先,他们在第一个画布上绘制视频,从中读取图像数据,进行一些像素操作,然后在第二个画布上绘制它。我想知道我真的必须使用 2 个画布来做到这一点吗?没有办法直接从视频中抓取图像数据吗?或者我们有一些性能问题,这就是解决方案?
【问题讨论】:
标签: javascript html video canvas
因为你无法从视频中获取像素数据。
Canvas API 有一个方法getImageData(),它返回一个浮点数组,其中包含每个像素的每种颜色(和 alpha)的值。不幸的是,视频元素不能这样做:(
您可以使用 一个 画布来绘制视频帧并对其进行操作。我猜人们更喜欢在两个画布上执行此操作,以便他们可以保留原始像素数据,以防您在加载新框架之前进行更改操作或其他...
【讨论】: