Моргает камера под Linux? Да и вообще как бы её настроить?
В настоящее время большинство веб-камер имеет интерфейс UVC и соотвестсвенно драйвер для них уже вшит в ядро. Эта технология конечно облегчает нам жизнь, так как мы подключаем камеру и она сразу начинает работать. Однако тут возникает много вопросов:
- А как её настроить?
- Где же регуляторы яркости, контрастности и др.?
- И вообще почему она у меня при лампах дневного освещения моргает?
v4l2-ctl
. Если её нет, то можно её установить, она обычно идёт с пакетом v4l2-utils
.
Дальше, чтобы узнать доступные для регулирования параметры, нужно выполнить команду:
$ v4l2-ctl -d /dev/video1 -L
У меня выдаются следующие доступные параметры и их возможные значения:
brightness (int) : min=0 max=255 step=1 default=133 value=133 contrast (int) : min=0 max=100 step=1 default=32 value=32 saturation (int) : min=0 max=200 step=1 default=170 value=170 hue (int) : min=-180 max=180 step=1 default=3 value=3 gamma (int) : min=40 max=100 step=1 default=65 value=65 power_line_frequency (menu) : min=0 max=2 default=2 value=2 0: Disabled 1: 50 Hz 2: 60 Hz white_balance_temperature (int) : min=2800 max=6500 step=1 default=5000 value=5000 sharpness (int) : min=0 max=30 step=1 default=5 value=5 backlight_compensation (int) : min=0 max=5 step=1 default=0 value=0 zoom_absolute (int) : min=0 max=50 step=1 default=0 value=0
Чтобы изменить например контраст, пишем:
$ v4l2-ctl -d /dev/video1 --set-ctrl contrast=50
Чтобы не было моргания нужно изменить параметр power_line_frequency, для России это 50Гц. Соответственно пишем:
$ v4l2-ctl -d /dev/video1 --set-ctrl power_line_frequency=1
И нормально общаемся с коллегами и родными по видео связи.