javascript - 视频正在自动调整我的大小

标签 javascript css html5-video getusermedia

我正在尝试制作一个摄像头捕捉组件,我希望调整它的大小以适应包含它的 100% 的 div。 这就是我制作视频的方式。

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 的质量时出现“错误”,然后视频>自动调整大小并且无法正常工作,因为我对图像进行裁剪然后分析它和其他事情现在没关系。

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

问候!

最佳答案

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

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

如果您想调整实际输入的尺寸,您需要重新附加 srcObject在调用 getUserMedia 后到一个新的 流对象再次,具有新的维度。

例如:

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

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

关于javascript - 视频正在自动调整我的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55064068/

相关文章:

javascript - OS X Javascript Widget 中 XMLHttpRequest 的空响应

html - CSS 在 IE11 中有效,但在 IE8 中无效

internet-explorer-8 - 如何为 IE 8 制作带有无 Flash 后备的 HTML 5 视频

javascript - 如何从 ServiceWorker 流式传输视频?

javascript - HTML5 视频 - 加载百分比?

javascript - Kendo Grid 页面更改禁用其他 jquery

javascript - 如何使用 Sails.js 创建 TCP 服务器?

javascript - 无法在服务器端注销用户(Next.js 和 Supabase)

html - 模态框的高度应适合高度内容

javascript - 单击大图时图像不会加载