网络摄像头js在Chrome中出错:无法访问网络摄像头

时间:2015-12-04 06:03:06

标签: javascript google-chrome webcam webcam.js

我在我的一个项目中使用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.

我升级了版本,现在我遇到的错误是

Webcam.js Error: Could not access webcam.
Permission Error: Only secure origins are allowed

https://goo.gl/Y0ZkNV

我的网站有一个安全的起源。

有谁能告诉我为什么我会面临这样的错误?

我认为复制粘贴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' );

6 个答案:

答案 0 :(得分:2)

Chrome 47要求网站为HTTPS,以便用户媒体/网络摄像头正常运行!这是一个全新的要求,我没有看到......

关于该主题的Chromium文档: https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features

这意味着我必须购买SSL证书。只要您在127.0.0.1或HTTPS上使用它,该库就可以在Chrome 47中正常运行。

Issue Discussion

Solution

答案 1 :(得分:1)

如果您还无法提供安全连接,您所能做的就是使用后备闪存。使用该lib中的配置代码:

 Webcam.set({
        force_flash: true
 });

答案 2 :(得分:1)

您可以允许特定的站点或端口:

要忽略Chrome的安全来源政策,请按照以下步骤操作。

  • 在Chrome中导航到chrome://flags/#unsafely-treat-insecure-origin-as-secure

  • 找到并启用Insecure origins treated as secure部分(请参见下文)。

  • 添加您要忽略其安全来源策略的所有地址。记住也要包括端口号(如果需要)。

  • 保存并重新启动Chrome。

See here!

答案 3 :(得分:0)

这种问题的另一种方法在开发过程中帮助了我,可能对其他人有所帮助。解决方案是将谷歌浏览器的版本降级到第46位。

以下是基本步骤: - 关闭Google Chrome中的更新

  • 转到C:\ Program Files \ Google \ Chrome \ Application或安装浏览器的目录。

  • 你会发现2个不同的文件:chrome.exe和old_chrome.exe。将chrome.exe重命名为任何其他名称,然后将old_chrome.exe重命名为chrome.exe

  • 启动Google Chrome

您可以在此处找到更详细的说明:http://ipswitchft.force.com/kb/articles/FAQ/How-to-downgrade-to-an-Older-version-of-Chrome

答案 4 :(得分:0)

mFusedLocationClient

答案 5 :(得分:0)

我也遇到了这个错误。

解决方案:

确保您的网站是安全的。通过https协议对其进行访问。

示例:

使用

https://example.azurewebsites.net/ 

代替

http://example.azurewebsites.net/