WebRTC 分辨率限制

6
我尝试过这个链接这个链接,但最大的分辨率只有640x480。
同一摄像头在其他Windows应用程序中拍摄的照片分辨率为1600x1200。
WebRTC是否有分辨率限制?
我找不到任何官方文档来解释这个问题。

对我而言,在Chrome中工作得很好,在Firefox中为640x480。 - hope_is_grim
Firefox使用更新的语法。请参见https://dev59.com/NF4c5IYBdhLWcg3wHXRS#28911694 - jib
2个回答

7
您可以使用约束条件并将其传递给getUserMedia,就像您提供的链接中所示。您的网络摄像头可能仅支持640x480的视频和更高分辨率的静态图像(这很常见)。
以下是另一个示例,您可以尝试设置各种分辨率,并打印出相应的约束对象:http://webrtc.googlecode.com/svn/trunk/samples/js/demos/html/constraints-and-stats.html 例如,要尝试强制将其设置为720p,帧率为30FPS:
{
 "audio": true,
 "video": {
  "mandatory": {
   "minWidth": "1280",
   "maxWidth": "1280",
   "minHeight": "720",
   "maxHeight": "720",
   "minFrameRate": "30"
  },
  "optional": []
 }
}

请注意,由于对指纹识别的隐私担忧,当前规范不允许查询硬件功能。具体内容请参考:http://lists.w3.org/Archives/Public/public-media-capture/2012Jan/0014.html

Tom,我在Chrome 30.0.1599.101m下遇到了与OP相同的问题。当我将强制最小分辨率设置为640x480时,WebRTC不会尝试更高的分辨率(即使它们可用)。如果我将最小分辨率设置为1080p,则会使用更高的分辨率。这正常吗?我希望即使将最小分辨率设置为640x480,它也能尝试1080p。 - Gili

1
请注意,Firefox目前尚不支持这些约束条件,但我们将会支持。在此期间,我们可以在about:config中的宽度和高度选项中进行设置。请注意保留html标签。
更新:目前,Firefox支持getUserMedia的最新规范约束条件,特别是宽度和高度。这些与此处提到的旧约束条件以及Chrome仍在使用的较新约束条件有很大不同(Chrome将很快转向规范约束条件)。

仅作为附注,这些设置是:media.navigator.video.default_widthmedia.navigator.video.default_height。@jesup,你有什么想法,它何时可用? - Kaiido

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接