slashlos / He3

He3 aka Helium 3, a multi-window, floating browser,
https://github.com/slashlos/He3/
MIT License
73 stars 5 forks source link

allow webcam access #3

Closed jochmann closed 3 years ago

jochmann commented 4 years ago

I was trying to use Helium as a floating webcam image for screen recording. Much like the abandoned CamDesk I want to create a simple web app where I see a preview of me in my webcam (and some graphics gizmos), but I need a way to display this image in a floating window.

Helium would be awesome for this purpose. It has taken care of the difficult issue of keeping an app window afloat - but it lacks the permissions to display the webcam. Is this feasible to add?

slashlos commented 4 years ago

Currently investigating; might be a permission issue but the webcam is not local, but intesting. I favor Nest products so I'll try using that if possible unless you can provide a sample, public URL etc - I can play test with, thanks.

p.s. seems there's an interface - WebRTC that's being pursued as an enhancement request but not there yet. I'll have to do a bit of research etc, but seems like a worthwhile addition. Stay tuned.

jochmann commented 4 years ago

I'm currently running a local html+js combo (lifted from https://github.com/michaelsboost/CamDesk) and run from file:// with my onboard webcam (Macbook).

I have tested a request from https on obs.ninja where "add my camera to OBS" opens a webcam request. He3 throws an error dialog: "An error has occured when trying to access the webcam or microphone. The reason is not known."

slashlos commented 4 years ago

Well, if it's a simple entitlement requirement, I'll try first to add that support to the preferences panel...

p.s. a simple reproducer would really help.

jochmann commented 4 years ago

a reproducer? I'm not sure what you mean. You can go to https://obs.ninja via He3 and click on the panel to "add your camera to OBS" to reproduce the issue, as I said. Or hand off from Safari from the same site, also generating an error.

slashlos commented 4 years ago

Hmm, I might be late to the party but https://bugs.chromium.org/p/chromium/issues/detail?id=752458#c31 suggest Apple has some work todo...

slashlos commented 4 years ago

Btw, testing with camera/mic entitlements do not fare better so perhaps something else - Apple? is needed here.

jochmann commented 4 years ago

The bug report forums don't give me much hope, unfortunately. https://bugs.webkit.org/show_bug.cgi?id=208667

I don't understand the code base of He3, so just guessing: The workaround that is mentioned in the thread, using SFSarafiWebView, ist not feasible?

slashlos commented 4 years ago

Ah that's iOS. Won't help he3.

slashlos commented 3 years ago

Unlike webView predecessor, some things are not there or able in the (new) WkWebView but hoping for an opening at some point.

jochmann commented 3 years ago

I've created a single-use web app to get around the problem. It uses the browser API for picture in picture mode. Don't know if this is relevant to your needs or if you like the "hack" we used: mirror the feed on a canvas element that we can manipulate. https://pipfy.pxi.gmbh