Получить снимок с холста MJPEG Player - PullRequest
0 голосов
/ 26 марта 2020

Мне нужно сделать снимок из mjpeg player, используя canvas, я использовал этот mjpeg player: https://gist.github.com/codebrainz/eeeeead894e8bdff059b Поэтому, когда я нажимаю на стоп, я должен получить изображение, однако я всегда получаю ImageData со значением 0 как показано ниже

enter image description here

Это мой код кадра обновления:

function updateFrame(img) {
    var srcRect = {
      x: 0, y: 0,
      width: img.naturalWidth,
      height: img.naturalHeight
    };
    var dstRect = scaleRect(srcRect, {
      width: canvas.width,
      height: canvas.height
    });
  try {
    context.drawImage(img,
      srcRect.x,
      srcRect.y,
      srcRect.width, //240
      srcRect.height, //200
      dstRect.x,
      dstRect.y,
      dstRect.width,
      dstRect.height
    );
    //console.log(srcRect.x + "----" +srcRect.y);

    var image = context.getImageData(0, 0, 240, 200);
    var imageData = image.data;
    length = imageData.length;
    console.log(imageData)



  } catch (e) {
    // if we can't draw, don't bother updating anymore
    self.stop();
    console.log("!");
    throw e;
  }
}
...