.png)
Beim Versuch, meine USB-Kamera mit VLC zu öffnen, erhalte ich
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.
Aber das Seltsame ist, dass Zoom es ohne Probleme öffnen kann.
Ich verwende die neueste VLC-Version 3.0.12
Die Protokollierung ist anscheinend standardmäßig deaktiviert. Ich habe sie aktiviert, indem ich zu
Tools -> Preferences -> Select "ALL" -> Advanced -> Logging
Ein Blick in das Protokoll hat nichts Hilfreiches ergeben, außer dass es "directshow" ist, das diese Kamera nicht öffnen kann
dshow error: can't use device: USB CAMERA, unsupported device type
Ich habe den Log-Level auf Debug erhöht, aber das hat nicht viel mehr ergeben
dshow debug: dshow-vdev: USB-KAMERA dshow debug: Gerät gefunden: USB-KAMERA
Ich habe versucht, die USB-ID zu finden und bin nicht sicher, ob ich sie richtig habe, aber es könnte sein
USB\VID_0AC8&PID_3420\5&22ac01e1&0&3
Dies ist eine Kamera mit USB- oder HDMI-Ausgang und C-Mount. Sie wird als Mikroskopkamera verwendet, ich verwende sie jedoch als normale Webcam mit austauschbarem Objektiv.
Danke !
Antwort1
Dies liegt mit ziemlicher Sicherheit daran, dass die Auflösung zu hoch oder falsch ist oder der USB-Bus den Durchsatz nicht unterstützt (insbesondere, wenn Sie einen USB-2-Hub verwenden).
Sie müssen v4l2-ctl --all
dies ausführen, es sollte Ihnen alle Ihre Geräte anzeigen, die jetzt in VLC funktionieren. Führen Sie dies aus, v4l2-ctl --list-devices
es sollte Ihnen eine Liste der Geräte anzeigen, etwa wie diese:
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
Suchen Sie das gewünschte Video*-Gerät. In diesem Fall ist UC70 meine Webcam, die zwei Geräte /dev/video6 und /dev/video7 bereitstellt.
Suchen Sie dann nach den unterstützten Formaten wie folgt
v4l2-ctl -d /dev/video6 --list-formats-ext
v4l2-ctl -d /dev/video7 --list-formats-ext
Bei mir sind nur video6
alle unterstützten Formate verfügbar und es wird dies zurückgegeben (beachten Sie, dass Sie den Videostream und nicht MJPG möchten).
[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)
Bevor ich irgendetwas mache, kann ich überprüfen, welche Standardeinstellung VLC hat. vlc v4l2:///dev/video6 -vv
Dazu führe ich Folgendes aus:
[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
Versuchen wir eine andere Auflösung als 3840x2160
vlc v4l2:///dev/video6 -vv --v4l2-width=640 --v4l2-height=470
funktioniert gut.
tldr; VLC öffnet den Stream mit der höchsten Auflösung, Zoom und andere Clients nicht.