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

Posted

技术标签:

【中文标题】如何在电子应用程序中访问相机/网络摄像头?【英文标题】: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。跨度>

以上是关于如何在电子应用程序中访问相机/网络摄像头?的主要内容,如果未能解决你的问题,请参考以下文章

如何从相机(或网络摄像头)在 python 中捕获视频(和音频)

Android模拟器在Android Studio中不使用网络摄像头

如果我在释放网络摄像头后再次访问它,则 OpenCV Python 捕获失败

如何通过XSS入侵网络摄像头

在 Web 应用程序中从网络摄像头或移动摄像头拍照

如何通过 Javascript 在 PythonAnywhere 上的 OpenCV 中访问网络摄像头?