使用画布从页面抓取像素数据

时间:2010-02-02 00:54:16

标签: javascript html image canvas quicktime

如果我在页面上有QT视频(QT是无法更改的要求),我如何获取当前使用画布显示的帧的像素数据?我知道getImage(videoElement, .....)可以实现这一点,但我正在寻找一种使用QT的解决方案。

如果无法获取像素数据,那么是否可以使用画布截取页面并对其进行修剪?

或者我是以错误的方式解决这个问题而根本不需要使用画布?

4 个答案:

答案 0 :(得分:1)

你能依靠客户端上的java吗?如果是这样,您可以使用屏幕外的Java applet(使用quicktime for java库)与javascript和quicktime插件进行对话,以获取给定帧的像素数据。此解决方案需要将影片加载到quicktime插件并加载到applet中。有关简化的API,请参阅http://processing.org/reference/libraries/video/index.html

这不是一个优雅的解决方案。我不喜欢它。只是头脑风暴。

答案 1 :(得分:1)

画布无法做到这一点。你所指的功能与canvas无关,它与视频元素有关。视频元素返回画布可以使用的图片,而QT对象(或嵌入)则没有。

答案 2 :(得分:0)

另一个想法是预处理quicktime影片,并在您的服务器上保留像素数据。当您的页面需要时,Ajax正确的框架数据。根据您的视频压缩情况,这可能是一个好主意,因为由于关键帧,获取每帧的精确像素数据可能会很困难。

答案 3 :(得分:0)

关于Mozilla的这个例子:https://developer.mozilla.org/En/Manipulating_video_using_canvas 使用上下文对象上的getImageData()函数在视频中替换chromakey。