WebRTC视频约束不起作用

时间:2014-11-26 21:48:38

标签: javascript html5 html5-video webrtc

我正试图从网络摄像头获得更低的分辨率

navigator.getUserMedia({audio: true, 
    video: {
        "mandatory" : {maxWidth : 320},
        "optional" : []
    }
}, function(stream) {
    videoElement.src = URL.createObjectURL(stream);
}, function(error) {console.log(e)});

一切正常,但videoElement.videoWidth仍然是640.无论我指定什么视频约束,都是一样的。这只发生在Firefox中,在Chrome中一切正常。

有谁知道为什么?

我也尝试过指定maxFrameRate,但这也被忽略了。我也试过没有optional和maxHeight。

1 个答案:

答案 0 :(得分:2)

Firefox中正在处理许多错误,因为它不支持可编程视频帧速率和分辨率更改。

你应该能够以这种方式设置约束:

mediaConstraints = {
      "audio": true,
      "video": {
         width: {
             min: 320,
              max: 320
          },
          height: {
             min: 240,
              max: 240
          } }
    };

但是我从来没有能够通过媒体限制来解决视频分辨率问题。我在firefox中更改about:config中的默认分辨率方面取得了有限的成功。

这些问题是众所周知的,我相信很多人都在努力解决这些问题。