getUserMedia视频质量

时间:2016-06-06 11:28:43

标签: image webcam getusermedia

我正在使用Windows 8.1的平板电脑(HP)。我们开发了一个Web应用程序,可通过平板电脑使用Chrome浏览器访问,该浏览器使用getUserMedia API访问平板电脑的网络摄像头(实现很简单,基于JavaScript,类似于此处的例如:https://davidwalsh.name/demo/camera.php)。 我们的应用程序将用于拍摄身份证照片,然后将其提交给servlet。

使用getUserMedia API在浏览器中拍摄的照片质量非常差,身份证上的字母有时在图像中不易读取。 如果我在同一平板电脑上使用Windows 8.1中的“相机”应用程序,并拍摄相同身份证的照片,在相同光照条件下和相同距离下,生成的图像(JPEG)非常清晰。

为什么质量上有差异?我阅读了有关getUserMedia API的所有内容,并尝试了所有可用的参数(约束,宽度,高度,jpeg质量),但我无法获得高质量的图像。 同一台平板电脑上的同一台摄像机在浏览器中使用时产生如此质量差异的原因是什么原因,以及与Windows摄像机应用程序一起使用时,是否有办法在浏览器中获得更好的质量(开发自定义)插件)?

1 个答案:

答案 0 :(得分:0)

回答您的问题“为什么这种质量差异?”简而言之,这是因为浏览器模拟了摄像头馈送并在后台进行了图像转换,以允许将不同的流发送到不同的客户端。 WebRTC的主要重点是P2P媒体流,而不是用于拍摄高质量的照片。

您可以使用ImageCapture获得更多相机属性(并将其作为ImageBitmap获得),但是目前的支持仍然非常薄弱。

请阅读以下我的答案,以获取有关MediaCapture和ImageCapture用例的更多信息。

Why the difference in native camera resolution -vs- getUserMedia on iPad / iOS?

Take photo when the camera is automatically focused