letmaik / pyvirtualcam

🎥 Send frames to a virtual camera from Python
GNU General Public License v2.0
452 stars 49 forks source link

Using Webcamoid virtual camera #71

Closed Ajju2211 closed 2 years ago

Ajju2211 commented 2 years ago

I have seen this https://github.com/webcamoid/akvirtualcamera, it supports windows, mac,linux. I think pyvirtualcam can made as platform independent setup by using webcamoid builds.

letmaik commented 2 years ago

The project you reference does not seem to support Linux. However, there is https://github.com/webcamoid/akvcam for that, which is similar to v4l2loopback.

The installation steps for the virtual camera itself (see https://github.com/webcamoid/akvirtualcamera/wiki/Build-and-install and https://github.com/webcamoid/akvcam/wiki/Build-and-install) require admin rights, and it is a global install. This makes it unsuitable for direct inclusion in pyvirtualcam as a component.

Assuming that you're looking for a better out-of-the-box experience when using pyvirtualcam (without installing external software), the project you mention wouldn't achieve that. Let me know if I misunderstood something.

Supporting (not bundling) the virtual cameras of webcamoid as backends in pyvirtualcam (same as how OBS virtual cams are supported) is another story, but I don't think there's any motivation for this (yet).

Ajju2211 commented 2 years ago

Your project is great for linux because it requires v4l2loopback only, But in case of windows it requires unity or obs which are the big giant softwares.So I just wanted to point out that you can use the webcamoid builds and ship it along with the pyvirtualcam. I understand the build requires admin permissions, may be it can take permission from the user during installation steps, but it might reduce the extra installation of giant obs or unity.

Let's say I wanted to build a desktop application using python and I have used your library in that.but during setup I can not ask the end user to install unity or obs for that right.

letmaik commented 2 years ago

See also https://github.com/letmaik/pyvirtualcam/discussions/50#discussioncomment-564551. I'm afraid this is something you will have to deal with in the installer of your application. It's not the job of a library, given all the constraints. Have a look at the discussion thread again. You can bundle just the virtual camera drivers of OBS, instead of all of OBS. Even though this is not an official method, it works.

Ajju2211 commented 2 years ago

Yeah, I will check that out