我正在尝试制作一个凸轮捕获组件,我希望将其调整大小以适合包含它的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大另一个时,会出现“错误”,然后视频>会自动调整大小,无法正常工作,因为我在图像上进行了裁剪然后分析了其他内容没关系。
是否可以在不调整视频大小的情况下提高质量?
致谢!
答案 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( ... )