Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 视频正在自动调整我的大小_Javascript_Css_Html5 Video_Getusermedia - Fatal编程技术网

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

Javascript 视频正在自动调整我的大小,javascript,css,html5-video,getusermedia,Javascript,Css,Html5 Video,Getusermedia,我正在尝试制作一个cam捕获组件,我希望它的大小能够适应包含它的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 }

我正在尝试制作一个cam捕获组件,我希望它的大小能够适应包含它的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时,会出现“错误”,然后视频>自动调整大小,无法正常工作,因为我对图像进行裁剪,然后分析图像和其他现在不重要的内容

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


问候

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

我假设您使用的是
video.srcObject=stream命令,用于将输入(流)设置为
元素

如果要调整实际输入的维度大小,需要在再次调用
getUserMedia
后使用新维度将
srcObject
重新附加到new流对象

例如:

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

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

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

我假设您使用的是
video.srcObject=stream命令,用于将输入(流)设置为
元素

如果要调整实际输入的维度大小,需要在再次调用
getUserMedia
后使用新维度将
srcObject
重新附加到new流对象

例如:

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

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

你好!谢谢你的回答,但我不想改变视频的尺寸,我希望在不改变尺寸的情况下提高质量,我的意思是,在1920x1080px上拍摄视频(谈论质量,考虑全高清),但视频标签的大小应该是640x480Hi!谢谢你的回答,但我不想改变视频的尺寸,我希望在不改变尺寸的情况下提高质量,我的意思是,在1920x1080px上拍摄视频(谈论质量,考虑全高清),但视频标签的大小应该是640x480