javascript - 浏览器网络摄像头访问/WebRTC - 如何确定最大分辨率和宽高比?

标签 javascript jquery webrtc

鉴于以下情况,如何确定最大可能分辨率默认宽高比

  openCamera: function () {
        (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia).call(
            navigator,
            { video: true },
            function (localMediaStream) {
                if (webCamWindow) {
                    var vendorURL = window.URL || window.webkitURL;

                    if (navigator.mozGetUserMedia) {
                        webCamWindow.mozSrcObject = localMediaStream;
                        webCamWindow.play();
                    } else {
                        webCamWindow.src = vendorURL.createObjectURL(localMediaStream);
                    }
                }
                stream = localMediaStream;

            },
            function () { alert('fail') }
        );
    },

最佳答案

您可以使用webrtc-camera-resultion以获得相机的最佳(最大)尺寸和长宽比。

通过这个库,它会扫描所有可能的支持矩阵并返回它能找到的最佳支持矩阵,您可以通过以下格式获得相机媒体设备的结果:

label: 4K(UHD)  // Camera name
width: 3840     // Maximum width
height: 2160    // Maximum height
ratio: 16:9     // Aspect ratio

然后您可以在 navigator.mediaDevices.getUserMedia 中使用它:

{
    audio: true,
    video: {
        mandatory: {
            minWidth: _minWidth,
            minHeight: _minHeight,
            maxWidth: _maxWidth,,
            maxHeight: _maxHeight
        }
    }
}, function (stream) {
       ...

关于javascript - 浏览器网络摄像头访问/WebRTC - 如何确定最大分辨率和宽高比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43608337/

相关文章:

javascript - 动态添加脚本时未定义$/jQuery

javascript - 比较媒体源扩展 (MSE) 与 WebRTC

javascript - Sencha touch - Ext.XTemplate if/else 不工作

javascript - WebRTC 从不触发 IceCandidate

javascript - 无法读取未定义的 mongoose Nodejs 的属性 'id'

javascript - 如何从无序列表制作的菜单中的选定元素中获取值

jquery - Foundation 6 Sticky Topbar Navigation - 立即/过早触发

php - jQuery UI 可排序 php/mysql

audio - 如何使用RTCMultiConnection在网状拓扑中实现WebRTC对等音频 session

ios - 后台模式下的 WebRTC Audio Session iOS