.png)
Al intentar abrir mi cámara USB con VLC me sale
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.
Pero lo extraño es que el zoom puede abrirlo sin problemas.
Estoy ejecutando la última versión de vlc 3.0.12.
El registro aparentemente está deshabilitado de forma predeterminada. Lo habilité yendo a
Tools -> Preferences -> Select "ALL" -> Advanced -> Logging
Verificar el registro no reveló nada útil, excepto que es "directshow" el que no puede abrir esta cámara.
dshow error: can't use device: USB CAMERA, unsupported device type
Aumenté el nivel de registro para depurar, pero esto no reveló mucho más.
depuración de dshow: dshow-vdev: CÁMARA USB depuración de dshow: dispositivo encontrado: CÁMARA USB
Intenté encontrar el ID del USB y no estoy seguro de haberlo hecho bien, pero puede que sea
USB\VID_0AC8&PID_3420\5&22ac01e1&0&3
Esta es una cámara con salida USB o HDMI con montura C, se usa como cámara de microscopio, pero yo la uso como una cámara web normal que tiene lentes intercambiables.
Gracias !
Respuesta1
Es casi seguro que esto se debe a que la resolución es demasiado alta, incorrecta o el bus USB no admite el rendimiento (especialmente si está utilizando un concentrador USB 2).
Debe ejecutar v4l2-ctl --all
esto debería mostrarle todos sus dispositivos ahora que funcionan en vlc, luego ejecutar v4l2-ctl --list-devices
esto debería mostrarle una lista de dispositivos similar a esta:
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
Encuentra el dispositivo de video* que deseas. En este caso, UC70 es mi cámara web que expone dos dispositivos /dev/video6 y /dev/video7.
Luego busque los formatos que admiten como este
v4l2-ctl -d /dev/video6 --list-formats-ext
v4l2-ctl -d /dev/video7 --list-formats-ext
Para mí, solo video6
tiene formatos compatibles y devuelve esto (tenga en cuenta que desea la transmisión de video, no 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)
Ahora, antes de hacer cualquier cosa, puedo verificar cuál es el valor predeterminado de VLC al ejecutarlo vlc v4l2:///dev/video6 -vv
y veo esto:
[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
Probemos con una resolución diferente que no sea 3840x2160.
vlc v4l2:///dev/video6 -vv --v4l2-width=640 --v4l2-height=470
funciona bien.
tldr; VLC abre la transmisión de mayor resolución, el zoom y otros clientes no lo hacen.