如何在电子应用程序中访问相机/网络摄像头?

分享于2023年03月15日 angular-hybrid electron hybrid-mobile-app javascript 问答
【问题标题】:How to access camera/webcamera inside electron app?如何在电子应用程序中访问相机/网络摄像头?
【发布时间】:2019-07-29 10:32:15
【问题描述】:

我有一个网络电子应用程序,我想在其中一个页面中实现摄像头。

问题是最近出于安全原因,网络摄像头只能通过“https”访问。但是在本地提供应用程序的 Electron 应用程序的情况下,方案是不同的,因此流式传输失败。所以我的问题是:

有没有什么好的解决方案可以在电子内部实现网络摄像头?

如果不行,除了网络摄像头,还有什么解决方案可行?

  • 当我 search 为“电子相机”时,我得到了很多相关的结果。 (例如, This this 在前五个中。)他们没有出现在您的搜索中吗?还是在应用他们展示的内容时遇到问题?
  • @T.J.Crowder 不,实际上我已经看过很多(两个链接),但正如我所提到的,最近引入了所需的安全连接。它在开发(本地主机)中可以正常工作,但在生产中不能正常工作,这是因为协议
  • 如果你说它过去可以工作,而现在由于 HTTPS 的新要求而不能正常工作,我看不到 a bug ,除非它是 this one 。如果是这样,这是一个未解决的错误,在修复之前不确定您是否能够做很多事情。
  • @T.J.Crowder 实际上我对其进行了测试,它可以与“文件”方案一起使用,但我们已经配置了一个自定义方案,但它不起作用,但不确定缺少什么

【解决方案1】:

我正在回答我自己的问题,以防它对其他人有所帮助。在我的情况下,a 有一个自定义方案,而不是标准方案 file ,但我错过了一些东西。我发现我只需要在 registerStandardSchemes (版本4)中添加: { secure: true } 。这让 electron 知道这个方案是安全的,并且足以让网络摄像头工作。

查看 electron documentation 以获得更多帮助

【讨论】:

  • 你能分享一些代码如何让它在相机上工作吗?我有同样的问题,不知道该怎么办
  • @JuliverGalleto 我猜它最近更改为“registerSchemesAsPrivileged”。你必须设置 protocol.registerSchemesAsPrivileged([{scheme: 'YOUR_SCHEME', privileges: {standard: true, secure: true}} ]) 。希望对您有所帮助。
  • 感谢您的回复,就我而言,我正在使用 raspberry pi 设备进行处理,它找不到摄像头模块,所以我决定改用 python。跨度>