Автоматическая настройка экспозиции v4l2-ctl не удалась

Я пытаюсь настроить веб-камеру C920 на качество изображения, используя v4l2-ctl утилита на Ubuntu ПК. Я не могу установитьозависимость_авто в режим "Авто", но могу установить "Ручной режим" или "Режим приоритета диафрагмы". Есть какие-нибудь подсказки?

*lenovo@ubuntu:~$ v4l2-ctl -d /dev/video1 -c exposure_auto=0
VIDIOC_S_CTRL: failed: Input/output error
exposure_auto: Input/output error*

Ниже приведен дамп настроек C920, подключенного к моей Ubuntu:

 - brightness (int) : min=0 max=255 step=1 default=128 value=128
 - contrast (int) : min=0 max=255 step=1 default=128 value=128
 - saturation (int) : min=0 max=255 step=1 default=128 value=128
 - white_balance_temperature_auto (bool) : default=1 value=1 
 - gain (int) : min=0 max=255 step=1 default=0 value=0 
 - power_line_frequency (menu) : min=0 max=2 default=2 value=2
 - white_balance_temperature (int) : min=2000 max=6500 step=1 default=4000 value=4000  
 - sharpness (int) : min=0 max=255 step=1 default=128 value=128 
 - backlight_compensation (int) : min=0 max=1    step=1 default=0 value=0 
 - exposure_auto (menu) : min=0 max=3 default=3    value=3  (0: Auto Mode 1: Manual Mode
           2: Shutter Priority Mode
           3: Aperture Priority Mode) 
 - exposure_absolute (int) : min=3 max=2047 step=1 default=250 value=250  
 - exposure_auto_priority (bool) :    default=0 value=1 
 - focus_absolute (int) : min=0 max=250 step=5    default=0 value=0 
 - focus_auto (bool) : default=1 value=1 
 - zoom_absolute    (int) : min=100 max=500 step=1 default=100 value=100

3 ответа

Это обычно происходит, когда вы пытаетесь вручную установить настройку, которая в настоящее время управляется каким-либо другим автоматическим. Попробуйте переключить '' extension_auto_priority '', чтобы увидеть, не теряет ли это хватку автоматического алгоритма для этого конкретного параметра.

Для меня, например, установка ''white_balance_tempera_auto '' в 0 позволила мне вручную установить ''white_balance_temperam '', что раньше приводило к "fail: Input/output error".

С помощью

v4l2-ctl -d /dev/video1 -c exposure_auto=1 

вместо exposure_auto = 0, вы можете установить экспозицию вручную, а затем установить exposure_absolute изменить значение.

Привет, легко узнать, какие параметры принимает ваша камера, с помощью uvcdynctrl

      sudo apt install uvcdynctrl

Чтобы получить список всех поддерживаемых команд, введите:

      uvcdynctrl -c -v

-c даст вам список всех доступных настроек

-v означает подробный, что дает вам диапазон допустимых значений

моя Microsoft Lifecam даст мне этот вывод:

        Brightness
    ID      : 0x00000001,
    Type    : Dword,
    Flags   : { CAN_READ, CAN_WRITE },
    Values  : [ 30 .. 255, step size: 1 ],
    Default : 133
  Contrast
    ID      : 0x00000002,
    Type    : Dword,
    Flags   : { CAN_READ, CAN_WRITE },
    Values  : [ 0 .. 10, step size: 1 ],
    Default : 5
  Saturation
    ID      : 0x00000004,
    Type    : Dword,
    Flags   : { CAN_READ, CAN_WRITE },
    Values  : [ 0 .. 200, step size: 1 ],
    Default : 83

.. и так далее.

Затем вы можете получить фактическое значение с помощью

      uvcdynctrl -g 'Exposure, Auto'

или установите значение с помощью

      uvcdynctrl -s 'Exposure, Auto' 1
Другие вопросы по тегам