commit 21be93712639b330f3e1d7311ad9a386f7fa0c9b Author: aaron Date: Sun Aug 22 23:18:49 2021 +0200 Add shell code diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..77cecfb --- /dev/null +++ b/Readme.md @@ -0,0 +1,3 @@ +# brightness + +Set the screen brightness using your camera. diff --git a/brightness.sh b/brightness.sh new file mode 100755 index 0000000..83d2377 --- /dev/null +++ b/brightness.sh @@ -0,0 +1,18 @@ +#!/bin/env bash + +# camera device +FFMPEG_DEVICE='/dev/video0' +# min brightness +MIN=50 +# get max brightness +MAX=$(cat /sys/class/backlight/intel_backlight/max_brightness) +# sys path for backligt control +SET='/sys/class/backlight/intel_backlight/brightness' + +# get grayscale and calculate brightness value for the screen +GET_GRAYSCALE=$(ffmpeg -i $FFMPEG_DEVICE -vf scale=1:1 -pix_fmt gray -f rawvideo -frames:v 1 -v quiet pipe:1) +AMBIENT=$(echo -n $GET_GRAYSCALE | od -t u | sed "s/000000[01]\s*//" | sed q) +BRIGHTNESS=$(( $AMBIENT * $MAX / 255 )) + +# set brightness and limit boundaries +echo $(( $BRIGHTNESS > $MIN ? $BRIGHTNESS : $MIN )) | sudo tee $SET