schellingb / UnityCapture

Streams Unity rendered output to other Windows applications as virtual capture device

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue with Selecting Specific UnityCapture Devices in pyvirtualcam

Mo18769 opened this issue · comments

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

  1. Install multiple UnityCapture devices (e.g., 10 devices).
  2. 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()
  1. 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()