Issue with Selecting Specific UnityCapture Devices in pyvirtualcam
Environment
Operating System: Windows 11 Python Version: 3.12.2 pyvirtualcam Version: Latest Virtual Camera Used: UnityCapture Virtual Camera Version: Latest
Describe the bug
I'm encountering a bug when using pyvirtualcam with multiple UnityCapture devices. Specifically, after installing 10 UnityCapture devices and attempting to select and use a device other than the first one through pyvirtualcam, none of the devices function as intended. Instead, all UnityCapture devices mirror the output designated only for the first device.
To Reproduce
- Install multiple UnityCapture devices (e.g., 10 devices).
- Attempt to use a specific device (other than the first one) using the following script:
frame = np.zeros((480, 640, 3), np.uint8)
frame[:] = (255, 255, 0) # yellow
with pyvirtualcam.Camera(width=640, height=480, fps=20, backend="unitycapture", device="Unity Video Capture #2") as cam:
print(f'Using virtual camera: {cam.device}')
while True:
cam.send(frame)
cam.sleep_until_next_frame()
- Running a script intended for the first UnityCapture device subsequently affects all devices:
frame = np.zeros((480, 640, 3), np.uint8)
frame[:] = (255, 0, 0) # red
with pyvirtualcam.Camera(width=640, height=480, fps=20, backend="unitycapture", device="Unity Video Capture") as cam:
print(f'Using virtual camera: {cam.device}')
while True:
cam.send(frame)
cam.sleep_until_next_frame()
Environment
Operating System: Windows 11 Python Version: 3.12.2 pyvirtualcam Version: Latest Virtual Camera Used: UnityCapture Virtual Camera Version: Latest
Describe the bug
I'm encountering a bug when using pyvirtualcam with multiple UnityCapture devices. Specifically, after installing 10 UnityCapture devices and attempting to select and use a device other than the first one through pyvirtualcam, none of the devices function as intended. Instead, all UnityCapture devices mirror the output designated only for the first device.
To Reproduce
- Install multiple UnityCapture devices (e.g., 10 devices).
- Attempt to use a specific device (other than the first one) using the following script:
frame = np.zeros((480, 640, 3), np.uint8) frame[:] = (255, 255, 0) # yellow with pyvirtualcam.Camera(width=640, height=480, fps=20, backend="unitycapture", device="Unity Video Capture #2") as cam: print(f'Using virtual camera: {cam.device}') while True: cam.send(frame) cam.sleep_until_next_frame()
- Running a script intended for the first UnityCapture device subsequently affects all devices:
frame = np.zeros((480, 640, 3), np.uint8) frame[:] = (255, 0, 0) # red with pyvirtualcam.Camera(width=640, height=480, fps=20, backend="unitycapture", device="Unity Video Capture") as cam: print(f'Using virtual camera: {cam.device}') while True: cam.send(frame) cam.sleep_until_next_frame()
To use a specific unity virtual camera, you have to install different ones with different names...if you install different cameras with same name, you will encounter this kind of error, pyvirtualcam send to the specific name, so if the names are the same, all will have same mirrored output.
Hello @Mo18769 , same problem here. Did you find a solution?
Hello @Mo18769 , same problem here. Did you find a solution?
You have to use the one pull request of unity Capture and build it yourself...
https://github.com/schellingb/UnityCapture/pull/36
I think i hosted it on this subdomain: webcam.mrtz.nl
Thank you so much @Mo18769 . It works !!