5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

v4l2-ctlで設定できるパラメータ:Logicool C980 の場合

Last updated at Posted at 2022-06-28

とある事情でWebaCamの明るさとか露出とかを調整したくなった。
がしかし、

  • 手持ちのテレ会議用WebCamは露出調整ができない
  • 手持ちの古いやつは調整できるが解像度が低い・・・
  • ググっても設定できるできないが出てこない1
    • Logitech/Logicool C920 無印とかちょっと古めの記事が多い

結局新たに Logicool C980 を買ったので、設定可能なパラメータを晒しておく。

環境

  • ホストPC
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS"

準備

v4l2-ctl を使うので v4l-utils パッケージを導入しておく。

$ sudo apt install -y v4l-tools
$ dpkg -l | grep v4l-utils
ii  v4l-utils                                     1.22.1-2build1                              amd64        Collection of command line video4linux utilities

設定

デバイス一覧

$ v4l2-ctl --list-devices
Logitech StreamCam (usb-0000:00:0d.0-3.3):
        /dev/video4
        /dev/video5
        /dev/media2

Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-6):
(以下略)

今回は /dev/video4 が対象の WebCam
Integrated_Webcam_HD はノートPCの内蔵カメラ(非対象)

ドライバ情報

$ v4l2-ctl -d /dev/video4 --info
Driver Info:
        Driver name      : uvcvideo
        Card type        : Logitech StreamCam
        Bus info         : usb-0000:00:0d.0-3.3
        Driver version   : 5.15.35
        Capabilities     : 0x84a00001
                Video Capture
                Metadata Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : uvcvideo
        Model            : Logitech StreamCam
        Serial           : ********
        Bus info         : usb-0000:00:0d.0-3.3
        Media version    : 5.15.35
        Hardware revision: 0x00000317 (791)
        Driver version   : 5.15.35
Interface Info:
        ID               : 0x03000002
        Type             : V4L Video
Entity Info:
        ID               : 0x00000001 (1)
        Name             : Logitech StreamCam
        Function         : V4L2 I/O
        Flags            : default
        Pad 0x01000007   : 0: Sink
          Link 0x0200001f: from remote pad 0x100000a of entity 'Processing 3' (Video Pixel Formatter): Data, Enabled, Immutable

パラメータ一覧

$ v4l2-ctl -d /dev/video4 -L
                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=255
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2 (60 Hz)
                                0: Disabled
                                1: 50 Hz
                                2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=2000 max=7500 step=1 default=4000 value=4000 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3 (Aperture Priority Mode)
                                1: Manual Mode
                                3: Aperture Priority Mode
              exposure_absolute 0x009a0902 (int)    : min=3 max=2047 step=1 default=250 value=250 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=0
                   pan_absolute 0x009a0908 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                  tilt_absolute 0x009a0909 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                 focus_absolute 0x009a090a (int)    : min=0 max=255 step=1 default=0 value=0 flags=inactive
                     focus_auto 0x009a090c (bool)   : default=1 value=1
                  zoom_absolute 0x009a090d (int)    : min=100 max=400 step=1 default=100 value=100
  • brightness: 輝度、明るさ
  • contrast: コントラスト
  • saturation: 彩度、鮮やかさ
  • white_balance_temperature_auto: 自動ホワイトバランス設定
    • 0 で OFF
  • gain: ゲイン
  • power_line_frequency: 交流電源フリッカ対策
    • 蛍光灯のちらつき対策
  • white_balance_temperature: ホワイトバランス色温度
  • sharpness: シャープネス、輪郭強調
  • backlight_compensation: バックライト補正
    • 0 で無効
  • exposure_auto: 自動露出機能
    • 1 でマニュアルモード(固定値)
  • exposure_absolute: 露出値
  • exposure_auto_priority: 自走露出優先
  • pan_absolute: パン
  • tilt_absolute: チルト
  • focus_absolute: フォーカス値
  • focus_auto: 自動フォーカス設定
    • 0 で OFF
  • zoom_absolute: ズーム値

設定例

暗い部屋の中でテカテカに光るLCDパネルを撮影すると表示物が光りすぎて白飛びする。
自動露出では対応しきれないみたいなので、露出を固定して抑えてやると綺麗に撮影される。
LCD付属のタッチパネルをちょこちょこ操作するとオートフォーカスが過敏に反応するのでこれもOFF。

## 自動露出停止
$ v4l2-ctl -d /dev/video4 -c exposure_auto=1
## 露出値変更
$ v4l2-ctl -d /dev/video4 -c exposure_absolute=100
## オートフォーカス停止
$ v4l2-ctl -d /dev/video4 -c focus_auto=0
  1. 私の手持ちのがしょぼいだけで、普通はできるから、なのかも知れない

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?