peterbay / uvc-gadget

uvc-gadget with resolution changing and video controls
GNU General Public License v2.0
81 stars 24 forks source link

uvc-gadget does not work with Jitsi, Skype and Teams #7

Closed dgsiegel closed 3 years ago

dgsiegel commented 3 years ago

uvc-gadget does not work by the above mentioned tools. While the webcam is recognized, it only provides a black image. I know that most Jitsi instances filter out all webcams that provide more than 720p, so it's not even possible to select the webcam.

Skype and Teams (at least on Linux) can be forced to recognize the webcam by removing the 1080p resolution from multi-gadget.sh:

config_frame mjpeg m 1920 1080

That works with Jitsi as well. Other tools such as Zoom, guvcview, Cheese etc. have no problems in recognizing the different resolutions:

v4l2-ctl -d /dev/video2 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'MJPG' (Motion-JPEG, compressed)
        Size: Discrete 640x360
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 640x480
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 800x600
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1024x768
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1280x720
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1280x960
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1440x1080
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1536x864
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1600x900
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
        Size: Discrete 1600x1200
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
dgsiegel commented 3 years ago

Seems to work now. Probably a background process that was still reading the V4L device