视频正在自动调整大小

时间:2019-03-08 13:18:44

标签: javascript css html5-video getusermedia

我正在尝试制作一个凸轮捕获组件,我希望将其调整大小以适合包含它的div的100%。 这就是我的视频。

navigator.mediaDevices.getUserMedia({
    video: {

      // Indicates the possible video quality.
      width: { min: 640, ideal: 1024, max: 1920 },
      height: { min: 480, ideal: 720, max: 1080 }
    }})
    .then(stream => {
     // Code over here
        }));
      };
    })
    .catch(error => {
     // Error over here
      }));
    });
}

在我的CSS中,我有这个。

#video {
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 0px;
  margin-left: auto;
  width: 100%!important;
  height: auto!important;
  -webkit-transform: scaleX(-1); //avoid mirror effect
  transform: scaleX(-1);

}

当我希望视频的质量比640x480大另一个时,会出现“错误”,然后视频>会自动调整大小,无法正常工作,因为我在图像上进行了裁剪然后分析了其他内容没关系。

是否可以在不调整视频大小的情况下提高质量?

致谢!

1 个答案:

答案 0 :(得分:0)

将视频输入的尺寸设置为getUserMedia后,您将无法更改其实际尺寸,只有<video>元素的尺寸-输入(相机输入)的尺寸不会改变,这可能导致裁剪并为您的视频显示像素化。

我假设您正在使用video.srcObject = stream;命令将输入​​(流)设置为<video>元素。

如果要调整实际输入的尺寸,则需要在使用新尺寸再次调用srcObject之后,将getUserMedia重新附加到 new 流对象。

例如:

var constraints = {
    audio: true,
    video: {
        mandatory: {
            minWidth: CANVAS_WIDTH,
            minHeight: CANVAS_HEIGHT,
            maxWidth: CANVAS_WIDTH,
            maxHeight: CANVAS_HEIGHT
        }
    }
};

navigator.mediaDevices.getUserMedia(constraints).then( ... )