我在MediaDevices.getUserMedia()
中更改了FPS,但分辨率也有所更改。如何在保持640×480分辨率的同时降低FPS?
我尝试了以下代码,但是视频以不同的分辨率显示。
var constraints = {
video: {
width: 640,
height: 480,
frameRate: {
ideal: 10,
max: 15
}
}
};
答案 0 :(得分:1)
尝试:
var constraints = {
video: {
width: {exact: 640},
height: {exact: 480},
frameRate: {
ideal: 10,
max: 15
}
}
};
请注意,尽管并非所有平台上的所有浏览器都可以缩小到任意尺寸,但您只能在离散的本机模式中进行选择。由于fitness distance的计算方式,通常看到分辨率变化就是这种情况的标志。因此,如果失败,请做好后备准备。
更好的策略可能是先获得所需分辨率的相机,然后使用applyConstraints
降低其帧速率:
await stream.getVideoTracks()[0].applyConstraints({
width: {exact: 640},
height: {exact: 480},
frameRate: {ideal: 10, max: 15}
]);
那样,如果失败了,您仍然会感到困惑。