-
Notifications
You must be signed in to change notification settings - Fork 104
Virtual Cameras as input device #217
Is there a way to work with input from software/virtual cameras providers like OBS?
I am having some trouble getting input devices in the following situations:
-
While running Windows via VMWare on a MacBook Pro laptop the PSI based app does not list any cameras. Other apps like Zoom and Unity are able to list and display the camera.
-
While running on Windows on PC, other programs (Zoom and Unity) are able to list and display hardware and virtual cameras, but using PSI, I see only the hardware cameras.
Screenshot shows Zoom listing with the highlighted ones being the hardware webcams:
ApplicationFrameHost_sPVRvpLIua
Thank you.
All reactions
-
👀 1
I played around with some virtual cameras this week, and it seems like some virtual cameras show up as input devices, but not others. For example, I first tried the Snap Camera, and that showed up just fine in the list of possible devices available to \psi. But then I downloaded and tried OBS, and confirmed that its virtual camera does not show up.
The problem seems to be of Media Foundation vs DirectShow. Our MediaCapture component is built off of Media Foundation APIs and libraries, and does not support DirectShow devices (which virtual cameras like OBS are implemented as). This is also why, for example the OBS virtual camera doesn't show up in Windows 10's camera app
One solution would...
Replies: 1 comment 1 reply
I played around with some virtual cameras this week, and it seems like some virtual cameras show up as input devices, but not others. For example, I first tried the Snap Camera, and that showed up just fine in the list of possible devices available to \psi. But then I downloaded and tried OBS, and confirmed that its virtual camera does not show up.
The problem seems to be of Media Foundation vs DirectShow. Our MediaCapture component is built off of Media Foundation APIs and libraries, and does not support DirectShow devices (which virtual cameras like OBS are implemented as). This is also why, for example the OBS virtual camera doesn't show up in Windows 10's camera app
One solution would be for someone to write a new MediaCapture component for \psi that supports DirectShow devices. That isn't on our team's roadmap, but we would welcome a community contribution on it if anyone wanted to try.
I don't have a setup that can replicate your VMWare question, but I suspect the answer might be the same. Perhaps VMWare also uses DirectShow to surface physical cameras in the VM? One thing you could check is if the Windows 10 Camera app sees any of the cameras.