navigator.mediaDevices.getUserMedia在chrome获取视频流分辨率低(640*480),但是在Safari就是1280*720,是浏览器的问题吗?-灵析社区

超好看鸭

获取摄像头stream的分辨率谷歌浏览器分辨率一直是640 _480很模糊,切OBS则是1280_ 720,在Safari摄像头stream则是正常的1280*720,电脑摄像头分辨率很高并不是摄像头的问题,请大佬们给点思路吧 navigator.mediaDevices.getUserMedia({ video: { width: { ideal: 1280 }, height: { ideal: 720 } } }) .then(function(stream) { const videoTrack = stream.getVideoTracks()[0]; const settings = videoTrack.getSettings(); console.log('Actual video resolution: ' + settings.width + 'x' + settings.height); }) .catch(function(error) { console.log("getUserMedia error: ", error); });

阅读量:36

点赞量:0

问AI
navigator.mediaDevices.getUserMedia({ video: true }) .then(function (stream) { const track = stream.getVideoTracks()[0]; const capabilities = track.getCapabilities(); // 检查是否支持指定的分辨率 if (capabilities.width && capabilities.height) { const constraints = { width: { ideal: 1280 }, height: { ideal: 720 } }; // 应用分辨率约束 track.applyConstraints(constraints) .then(function () { // 分辨率应用成功,可以继续处理视频流 }) .catch(function (error) { console.error('Error applying constraints:', error); }); } else { console.error('Video track does not support setting custom resolutions.'); } }) .catch(function (error) { console.error('Error accessing user media:', error); }); 这样能行么?