我在我的一个项目中使用Webcam JS。
https://github.com/jhuckaby/webcamjs
我使用的版本:1.0.0最新版本:1.0.5
它在Chrome和Firefox中运行良好。但最近网络摄像头错误开始只在CHROME中显示。 Firefox仍然可以正常工作。
我在1.0.0中收到的错误:Webcam.JS Error: cannot access webcam.
我升级了版本,现在我在chrome中遇到的错误是
Webcam.js Error: Could not access webcam.
Permission Error: Only secure origins are allowed
我的网站有一个安全的起源。
谁能告诉我为什么我会面临这样的错误?
我相信复制粘贴webcam.js代码没有意义。
这是我使用的代码:
Webcam.set({
width: 320,
height: 240,
dest_width: 320,
dest_height: 240,
image_format: 'jpeg',
jpeg_quality: 90,
force_flash: false
});
Webcam.attach( '#my_camera' );
Chrome 47要求网站为HTTPS,以便用户媒体/网络摄像头正常运行!这是一个全新的要求,我没有看到......
关于这个主题的Chromium Docs:https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features
这意味着我必须购买SSL证书。只要您在127.0.0.1或HTTPS上使用它,该库就可以在Chrome 47中正常运行。
如果您还无法提供安全连接,那么您所能做的就是使用后备闪存。使用该lib中的配置代码:
Webcam.set({
force_flash: true
});
对于这种问题,还有另一种方法可以帮助我在开发过程中对其他人有所帮助。解决方案是将谷歌浏览器的版本降级到第46位。
以下是基本步骤: - 关闭Google Chrome中的更新
你可以在这里找到更详细的说明:http://ipswitchft.force.com/kb/articles/FAQ/How-to-downgrade-to-an-Older-version-of-Chrome
Webcam.set({
width: 500,
height: 400,
image_format: "jpeg",
jpeg_quality: 90,
force_flash: false,
flip_horiz: true,
fps: 45
});
Webcam.set("constraints", {
optional: [{ minWidth: 600 }]
});