Почему VLC не может открыть мою USB-камеру, а Zoom может? (В Windows 10)

Почему VLC не может открыть мою USB-камеру, а Zoom может? (В Windows 10)

При попытке открыть мою USB-камеру с помощью VLC я получаю

Capture failed:
The device you selected cannot be used, because its type is not supported.
Capture failed:
VLC cannot open ANY capture device. Check the error log for details.
Capture failed:
The device you selected cannot be used, because its type is not supported.
Capture failed:
VLC cannot open ANY capture device. Check the error log for details.

Но странно то, что Zoom может открыть его без проблем.

Я использую последнюю версию VLC 3.0.12.

Ведение журнала, по-видимому, отключено по умолчанию. Я включил его, перейдя в

Tools -> Preferences -> Select "ALL" -> Advanced -> Logging

Проверка журнала не выявила ничего полезного, кроме того, что это "directshow" не может открыть эту камеру.

dshow error: can't use device: USB CAMERA, unsupported device type

Я увеличил уровень журнала для отладки, но это не дало ничего нового.

dshow debug: dshow-vdev: USB-КАМЕРА dshow debug: найдено устройство: USB-КАМЕРА

Я пытался найти USB ID и не уверен, что правильно его нашел, но, возможно, это так.

USB\VID_0AC8&PID_3420\5&22ac01e1&0&3

Вот как выглядит камера

Это камера с выходом USB или HDMI и креплением C-mount, она используется как камера для микроскопа, но я использую ее как обычную веб-камеру со сменным объективом.

Спасибо !

решение1

Это почти наверняка связано с тем, что разрешение слишком высокое, неправильное или шина USB не поддерживает пропускную способность (особенно если вы используете концентратор USB 2).

Вам нужно запустить v4l2-ctl --allэто, это должно показать вам все ваши устройства, которые теперь работают в VLC, затем запустить v4l2-ctl --list-devicesэто, это должно показать вам список устройств, что-то вроде этого,

Integrated Camera: Integrated C (usbid):
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/media0
    /dev/media1

UC70: UC70 (usbid):
    /dev/video6
    /dev/video7
    /dev/media2

Найдите нужное вам видео* устройство. В этом случае UC70 — это моя веб-камера, которая выводит два устройства /dev/video6 и /dev/video7.

Затем найдите поддерживаемые ими форматы, например:

v4l2-ctl -d /dev/video6 --list-formats-ext
v4l2-ctl -d /dev/video7 --list-formats-ext

Для меня video6есть только поддерживаемые форматы, и он возвращает это (обратите внимание, что вам нужен видеопоток, а не MJPG),

    [1]: 'YUYV' (YUYV 4:2:2)
        Size: Discrete 1920x1080
            Interval: Discrete 0.500s (2.000 fps)
        Size: Discrete 3840x2160
            Interval: Discrete 1.000s (1.000 fps)
        Size: Discrete 1280x720
            Interval: Discrete 0.133s (7.500 fps)
            Interval: Discrete 0.200s (5.000 fps)
            Interval: Discrete 0.500s (2.000 fps)
        Size: Discrete 2048x1536
            Interval: Discrete 0.500s (2.000 fps)
        Size: Discrete 2560x1440
            Interval: Discrete 0.500s (2.000 fps)
        Size: Discrete 640x480
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.050s (20.000 fps)
            Interval: Discrete 0.067s (15.000 fps)
            Interval: Discrete 0.133s (7.500 fps)
            Interval: Discrete 0.200s (5.000 fps)
            Interval: Discrete 0.500s (2.000 fps)
            Interval: Discrete 1.000s (1.000 fps)

Теперь, прежде чем что-либо делать, я могу перепроверить, что установлено в vlc по умолчанию, запустив vlc v4l2:///dev/video6 -vvего и увидев это,

[00007f1b64001170] v4l2 demux debug:  best discrete frame size: 3840x2160
[00007f1b5c000c30] lua art finder debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac
[00007f1b5c000c30] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
[00007f1b5c000c30] main art finder debug: no art finder modules matched
[0000563402032240] qt interface debug: IM: Setting an input
[00007f1b64001170] v4l2 demux warning: cannot reset cropping limits: Inappropriate ioctl for device
[00007f1b64001170] v4l2 demux debug: 16588800 bytes maximum for complete image
[00007f1b64001170] v4l2 demux debug: Interlacing setting: progressive
[00007f1b64001170] v4l2 demux debug: color primaries: 8
[00007f1b64001170] v4l2 demux debug: transfer function: 1
[00007f1b64001170] v4l2 demux debug: YCbCr encoding: 1
[00007f1b64001170] v4l2 demux debug: quantization: 0
[00007f1b64001170] v4l2 demux debug: added new video ES YUY2 3840x2160 (3840x2160)
[00007f1b64001170] v4l2 demux debug:  frame rate: 1/1
[00007f1b64001170] v4l2 demux debug:  aspect ratio: 1/1
[00007f1b70000c90] main input debug: selecting program id=0
libv4l2: error turning on stream: Input/output error
[00007f1b64001170] v4l2 demux error: cannot start streaming: Input/output error
[00007f1b64001170] v4l2 demux debug: opening device '/dev/video6'
[00007f1b64001170] v4l2 demux debug: device UC70: UC70 using driver uvcvideo (version 6.1.27) on usb-0000:52:00.0-2.2.2.2
[00007f1b64001170] v4l2 demux debug:  with capabilities 0x05200001 (overall 0x85A00001)
[00007f1b64001170] v4l2 demux error: not a radio tuner device

Давайте попробуем другое разрешение, отличное от 3840x2160.

vlc v4l2:///dev/video6 -vv --v4l2-width=640 --v4l2-height=470

работает отлично.

tldr; VLC открывает поток с самым высоким разрешением, Zoom и другие клиенты — нет.

Связанный контент