如何使用 getUserMedia videoConstraints 在 Firefox 中更改摄像头视频宽度和高度?

How to change camera video width and height in Firefox using getUserMedia videoConstraints?

我正在尝试在 Javascript 中使用 RecordRTC 创建一个网络摄像头记录器应用程序 但是我的视频尺寸必须是这个宽高比:{width:270, height: 480}

我正在使用下面的代码并且在 Chrome 和 Safari 中工作正常但在 FireFox

private videoConstraints: any = {
  width: 270,
  height: 480,
  facingMode: 'user'}

browser.mediaDevices.getUserMedia({
    video: this.videoConstraints,
    audio: this.audioConstraints
  })

我也试过了:

video_constraints = {
    width: { min: 320, max: 480 },
    height: { min: 240, max: 360 },
    require: ["width", "height"] // needed pre-Firefox 38 (non-spec)
    };

等等,但其中 none 在 FF 上对我有用。

很遗憾,您无法让您的浏览器/网络摄像头组合生成准确的视频格式。这是浏览器和网络摄像头的功能,因此即使您让您的机器执行此操作,您用户的机器也可能不会。他们可能使用与您不同的网络摄像头。

所以你需要在你的约束中给出一个尺寸范围。浏览器中有逻辑可以为您提供最接近您的请求的内容。这种约束可能适合你。

video_constraints = {
  width: { min: 160, ideal: 270: max: 640 },
  height: { min: 240, ideal: 480, max: 480 } 
};

但您几乎肯定无法从桌面设备获得所需的纵向模式纵横比。