Webカメラの電力線周波数を使用する新しいアプリケーションを開くと、Webカメラの電力線周波数設定は適用されません。

Webカメラの電力線周波数を使用する新しいアプリケーションを開くと、Webカメラの電力線周波数設定は適用されません。

私はヨーロッパに住んでいて、ちらつきを防ぐために、電力線周波数設定を50Hzに変更する必要があるLogitech C920ウェブカメラを購入しました。以下のガイドラインを用いて行った。

/usr/bin/v4l2-ctl --d /dev/video0 --set-ctrl power_line_frequency=1

これはうまくいきます。でもルールを使用して持続するようにしましたudevadm

SUBSYSTEM=="video4linux", KERNEL=="video[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="08e5", RUN+="/usr/bin/v4l2-ctl -d $devnode --set-ctrl=power_line_frequency=1"

v4l2-ctl -d /dev/video0 --list-ctrlsシステムを再起動するか、WebカメラのUSBを取り外した後に次の出力が表示されるため、この方法も機能しているようです。

                     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=0
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=1 (50 Hz)
      white_balance_temperature 0x0098091a (int)    : min=2800 max=7500 step=1 default=5000 value=5000 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)
              exposure_absolute 0x009a0902 (int)    : min=3 max=2047 step=1 default=156 value=156 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=1
                   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=250 step=1 default=0 value=0 flags=inactive
                     focus_auto 0x009a090c (bool)   : default=1 value=1
                  zoom_absolute 0x009a090d (int)    : min=100 max=500 step=1 default=100 value=100

ご覧のとおり、power_line_frequency設定は値1(50Hz)に設定されており、これは正しいものです。ただし、Webカメラを使用するアプリケーション(Skype、Zoom、Discordなど)を実行してWebカメラの出力ビデオを表示すると、まだ点滅します(値はpower_line_frequencyまだ1にもかかわらず)。ただし、再実行するか、ルールを手動で実行すると問題が解決/usr/bin/v4l2-ctl --d /dev/video0 --set-ctrl power_line_frequency=1しますsudo udevadm triggerudevadm

なぜこれが起こるのか、または解決策を知っている人はいますか?

PD:私はカーネル5.15.0-56でUbuntu 22.04を使用しています。

よろしくお願いします。

ベストアンサー1

おすすめ記事