V4L2 改变默认设置?

V4L2 改变默认设置?

我可以成功更改我想要的设置值,v4l2-ctl --set-ctrl=exposure_auto_priority=1但我想知道如何将其设为默认设置,默认值为 0,这会让我的网络摄像头变黑,我需要将其设为默认值=1

答案1

您还可以使用 udev 子系统在设备插入或机器启动时建立设置。

例如,下面是我在 Logitech HD Pro C920 网络摄像头上设置电源线频率的方法,系统盘说有 USB ID 046d:082d

以 root 身份创建一个新的可读文件/etc/udev/rules.d/99-local-webcam.rules。它包含:

SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="082d", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl power_line_frequency=1 --device /dev/%k"

您可以按照相同的方法,修改 USB ID 和v4l2-ctl参数以满足您的确切需求。您可以测试v4l2-ctl从命令行输入参数,直到您确信它们可以工作,然后将该文本放入 udev 规则文件中。

这种方法的优点是它“有效”。每次插入设备时都会应用设置。如果您是多台机器的系统管理员,那么您可以为机构的所有设备推出规则文件,直到将 USB ID 插入机器后才会使用它们。

答案2

由于每次启动后设置都会丢失,因此您应该在会话启动时运行脚本来应用使用 Video4Linux 面板生成的值。

要查看调整后的值,请在终端上输入:

v4l2-ctl --all

创建脚本后,将其添加到启动会话...

这是我的启动脚本:

#!/bin/bash
v4l2-ctl \
--set-ctrl=brightness=150 \
--set-ctrl=contrast=51 \
--set-ctrl=saturation=32 \
--set-ctrl=white_balance_temperature_auto=0 \
--set-ctrl=gain=90 \
--set-ctrl=power_line_frequency=1 \
--set-ctrl=white_balance_temperature=1140 \
--set-ctrl=sharpness=24 \
--set-ctrl=backlight_compensation=1 \
--set-ctrl=exposure_auto=1 \
--set-ctrl=exposure_absolute=870 \
--set-ctrl=exposure_auto_priority=1

我希望这个对你有用...

答案3

如果你有Video4Linux 控制面板,您可以尝试取消选中底部的 Exposure_Auto_Priority 复选框,看看是否有帮助......

在此处输入图片描述

希望它有帮助...祝你好运!

答案4

这并非您真正想要的,但您可以轻松调整它以设置您喜欢的默认值。这会将所有内容恢复为出厂默认值。

device="/dev/video2"
function all_default() {
    while read this_train
        do
            parameter=$( sed -rn 's/^ *([^ ]*) .*/\1/p;'            <<< $this_train)
            default=$( sed -rn "s/^.* default=([^ ]*) ?.*/\1/p;"    <<< $this_train)
            echo v4l2-ctl -d $device --set-ctrl=$parameter=$default
            v4l2-ctl -d $device --set-ctrl=$parameter=$default
        done <<< $(v4l2-ctl -d $device --list-ctrls | sed -r "/:/!d;")
    echo "Chattanooga choo choo, won't you choo-choo me home..."
    echo "The setting does not seem to be permanent until you play:"
    echo "https://www.bitchute.com/video/fgvFDTeeXzsb/"
    echo "A strange bug... :-)"
}
all_default

相关内容