我正在使用此代码,但是当它获取源时,高度和宽度由下面代码块中的约束设置,但我想获得视频的实际大小。
navigator.mediaDevices.getUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: desktop_id,
minWidth: 990,
maxWidth: 990,
minHeight: 770,
maxHeight: 770
}
}
}).then(gotStream).catch(getUserMediaError);
生成的捕获图像当然是 990x770,但这会导致图像周围有黑色边框。真实视频的来源是 995x744,但由于给定的约束,它得到了这个带有黑色边框的新尺寸。如果我没有设置任何约束,则会抛出一个错误,说宽度为 0,因此需要设置某种宽度。
即使手动将 995x744 的视频源大小输入到约束中也不起作用,因为它似乎需要比源更大的区域来捕获它。不知道为什么不能完全按原样捕获?也许还有其他我做错的事情可以解决这个问题?
如何在捕获视频时获取视频的大小,以便将约束设置为视频的实际大小?所以捕获的图像与源视频的大小完全相同,没有黑色边框等。