相机导致Chrome崩溃?

时间:2016-01-04 16:00:12

标签: javascript html google-chrome computer-vision webcam

上下文

我正在为浏览器创建条形码阅读器/平地机,图像比较和光学字符识别套件。我有一个USB摄像头流视频,目前只改变每个像素的蓝色值并绘制到画布上。 (也使用adapter.js)

问题

在Chrome 47中大约2分钟后,标签崩溃了" Aww,snap"错误信息。

修改

经过进一步测试,我发现最近的Firefox中没有这个问题。网络摄像头在Firefox上使用相同的代码无限期地无限运行。这会让我相信这是Chrome中的实施错误。 (或adapter.js)

代码

<video id="vid" autoplay="true"></video>
var video = document.getElementById("vid");

var frame = 0, data = 0;

function loop() {
    window.requestAnimationFrame(loop);
    context.drawImage(video, 0, 0, 640, 480);
    frame = context.getImageData(0, 0, 640, 480);
    data = frame.data;

    for(var i = 0; i < data.length; i+=4) {
        data[i+0] -= 0;
        data[i+1] -= 0;
        data[i+2] -= 150;
        data[i+3] -= 0;
    }

    context.putImageData(frame, 0, 0);
}

loop();

问题

我想知道,我在代码中出现了一些明显的错误吗?我似乎无法使用Chrome内置工具发现任何内存泄漏。

这是Chrome的实施错误吗?问题感觉就像它试图关闭视频流一样(不正确),但我似乎无法确定这种情况。

非常感谢任何帮助。

0 个答案:

没有答案