Почему отображается только одна USB-камера два устройства Video4Linux?

Я купил новую веб-камеру 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?

0
задан 21 November 2020 в 06:21

1 ответ

Очень скоро
Ваше приложение должно использовать /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

3
ответ дан 26 November 2020 в 12:03

Другие вопросы по тегам:

Похожие вопросы: