Я купил новую веб-камеру USB, подключите ее.
ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Nov 21 10:57 /dev/video0
crw-rw----+ 1 root video 81, 1 Nov 21 10:57 /dev/video1
Почему только одна камера USB показывает два устройства Video4Linux?
Очень скоро
Ваше приложение должно использовать /dev/video0
для обычных вещей, как /dev/video1
дает вам изображения метаданных, которые будут использоваться алгоритмами для улучшения качества изображения.
Чуть глубже
Посмотрите на раздел Device caps
, так как они разные для обоих устройств:
$ v4l2-ctl -D -d /dev/video0
...
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
$ v4l2-ctl -D -d /dev/video1
...
Device Caps : 0x04A00000
Streaming
Extended Pix Format
Device caps задокументированы следующим образом:
* @device_caps: capabilities accessed via this particular device (node)
Биты, которые отличаются для них:
#define V4L2_CAP_VIDEO_CAPTURE 0x00000001 # bit 1
#define V4L2_CAP_META_CAPTURE 0x00800000 # bit 23
Приложения должны проверить это, чтобы узнать, какой тип буфера он получит, поскольку он должен использоваться потоковыми ioctl: VIDIOC_REQBUFS, VIDIOC_QBUF, VIDIOC_DQBUF
Подробнее об этом обсуждении см. https://bugzilla.kernel.org/show_bug.cgi?id=199575