Entry tags:
Скриптик для авторегулировки яркости экрана
Решил я повесить себе на "горячие клавиши" изменение яркости экрана: чтобы при отключении света не лупасило сильно по глазам. Это — простая штука (к сожалению, яркость на nVidia можно регулировать лишь программно, т.к. блоб кривоват), которая реализуется двумя строчками в ~/.icewm/keys:
Однако, этого мне было мало, и я набросал простенький скриптик, который можно запускать по at или cron:
Суть скриптика в следующем: ffmpeg захватывает с веб-камеры 1 кадр (с задержкой, чтобы вебка успела выйти в авторежим — хотя, для чистоты эксперимента лучше будет при помощи v4l2ctl отключить всю автоматизацию у вебки, тогда и задержка не нужна будет), затем ImageMagic вычисляет некую среднюю яркость по этому изображению, ну а потом при помощи bc мы на основе средней яркости вычисляем, какую яркость монитора следует задать на вход xrandr.
Потестирую завтра еще и при свете дня.
key "XF86Launch5" xrandr --output HDMI-0 --brightness .6
key "XF86Launch6" xrandr --output HDMI-0 --brightness 1
Однако, этого мне было мало, и я набросал простенький скриптик, который можно запускать по at или cron:
#!/bin/bash
#
# Change light of screen depending on common lightness
#
at now + 1 minute -M -f /Data/scripts/Screen_light1
FILE=/tmp/$$.jpg
ffmpeg -sameq -r 5 -f video4linux2 -s 640x480 -i /dev/video0 -ss 00:00:03.8 -t 00:00:00.1 -f image2 $FILE
BRI=$(convert $FILE -format "%[mean]" info:)
rm -f $FILE
BRILVL=$(echo "a=l($BRI)-8; if(a>1) a=1 else if(a<0.6) a=0.6; print a;" | bc -ql)
#echo "BRI: $BRI, LVL: $BRILVL"
xrandr --output HDMI-0 --brightness $BRILVL
Суть скриптика в следующем: ffmpeg захватывает с веб-камеры 1 кадр (с задержкой, чтобы вебка успела выйти в авторежим — хотя, для чистоты эксперимента лучше будет при помощи v4l2ctl отключить всю автоматизацию у вебки, тогда и задержка не нужна будет), затем ImageMagic вычисляет некую среднюю яркость по этому изображению, ну а потом при помощи bc мы на основе средней яркости вычисляем, какую яркость монитора следует задать на вход xrandr.
Потестирую завтра еще и при свете дня.
no subject
no subject
no subject
no subject
no subject