Как получить доступ к камере / веб-камере внутри приложения electron?

#javascript #electron #hybrid-mobile-app #angular-hybrid

#javascript #electron #гибридное мобильное приложение #angular-гибридный

Вопрос:

У меня есть веб-приложение electron, и я хочу внедрить камеру на одной из страниц.

Проблема в том, что в последнее время по соображениям безопасности к веб-камере можно получить доступ только через «https». Но в случае приложения Electron, где приложение обслуживается локально, схема отличается, и поэтому потоковая передача завершается сбоем. Итак, мой вопрос:

Есть ли какое-нибудь хорошее решение для реализации веб-камеры внутри electron?

Если нет, то какое решение, отличное от веб-камеры, может сработать?

Комментарии:

1. Когда я ищу «electron camera», я получаю множество соответствующих результатов. ( Это и это входят в первые пять, например.) Они не отображались в вашем поиске? Или была какая-то проблема с применением того, что они демонстрируют?

2. @T.J. Crowder Нет, на самом деле я видел много из них (обе ваши ссылки), но, как я уже упоминал, недавно было введено требуемое безопасное соединение. Это будет нормально работать при разработке (localhost), но не на производстве, и это из-за протокола

3. Если вы говорите, что раньше это работало, а теперь нет из-за нового требования к HTTPS, я не вижу в этом ошибки , если только это не этот . Если да, то это открытая ошибка, не уверен, что вы сможете что-то сделать, пока она не будет исправлена.

4. @T.J.Crowder на самом деле я протестировал его, и он будет работать со схемой «file», но мы настроили пользовательскую схему, и с ней не работает, не уверен, чего не хватает, хотя

Ответ №1:

Я отвечаю на свой собственный вопрос на случай, если это поможет кому-то еще. В моем случае у a была пользовательская схема вместо стандартной, которая есть file но я чего-то не хватало. Я обнаружил, что мне просто нужно добавить: { secure: true } inside registerStandardSchemes (версия 4). Это дает electron знать, что эта схема безопасна и этого достаточно для работы веб-камеры.

Просмотрите документацию по electron для получения дополнительной помощи

Комментарии:

1. не могли бы вы поделиться каким-нибудь кодом, как заставить его работать для камеры, пожалуйста? у меня такая же проблема, не могу понять, что делать

2. @JuliverGalleto Я предполагаю, что это было недавно изменено на ‘registerSchemesAsPrivileged’. Вы должны установить protocol.registerSchemesAsPrivileged([{scheme: 'YOUR_SCHEME', privileges: {standard: true, secure: true}} ]) . Надеюсь, это поможет.

3. спасибо за ваш ответ, в моем случае я работаю над этим на устройстве raspberry pi, оно не может найти модуль камеры, поэтому я решил вместо этого перейти на python.