diff --git a/reduce_video_bitrate.sh b/reduce_video_bitrate.sh new file mode 100644 index 0000000000000000000000000000000000000000..060fee68b38407d11fd90efe776a5b5662d62a81 --- /dev/null +++ b/reduce_video_bitrate.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# Função para exibir a mensagem de ajuda +print_help() { + echo "Uso: $(basename $0) [-h|--help] [-b <bitrate>] <input_file>" + echo "Descrição: Este script converte um arquivo de vídeo para um bitrate especificado." + echo "Opções:" + echo " -h, --help Exibir esta mensagem de ajuda e sair." + echo " -b, --bitrate <bitrate> Especificar o bitrate desejado (padrão: 2500k)." +} + +# Verifica se o número de argumentos é menor que 1 +if [ $# -lt 1 ]; then + echo "Erro: Nenhum argumento fornecido." + print_help + exit 1 +fi + +# Configurações padrão +bitrate="2500k" + +# Loop para processar os argumentos da linha de comando +while [ $# -gt 0 ]; do + case "$1" in + -h|--help) + print_help + exit 0 + ;; + -b|--bitrate) + if [ -n "$2" ]; then + bitrate="$2" + shift + else + echo "Erro: Nenhum valor fornecido para o bitrate." + print_help + exit 1 + fi + ;; + *) + input_video="$1" + ;; + esac + shift +done + +# Verifica se o arquivo de entrada existe +if [ ! -f "$input_video" ]; then + echo "Erro: O arquivo de entrada '$input_video' não existe." + exit 1 +fi + +echo ------------------------------------------------ +output_video="${input_video%.MP4}_${bitrate}.mp4" + +# Verifica se o arquivo de saída já existe +if [ -f "$output_video" ]; then + echo "O arquivo $output_video já existe." +else + echo "Convertendo arquivo para $output_video com bitrate de $bitrate." + ffmpeg -i "$input_video" -c:v libx264 -b:v "$bitrate" "$output_video" + du -h "$input_video" + ffprobe "$input_video" 2>&1 | grep bitrate | cut -d ',' -f 1,3 + du -h "$output_video" + ffprobe "$output_video" 2>&1 | grep bitrate | cut -d ',' -f 1,3 +fi + +echo DONE diff --git a/wacom_bamboo_configure.sh b/wacom_bamboo_configure.sh index 5e348ca5ea5e8faf009b10b3e60f12e78e3a467e..ece7e7c62dda45d814b6e4c60dbbf190811694fd 100644 --- a/wacom_bamboo_configure.sh +++ b/wacom_bamboo_configure.sh @@ -21,14 +21,20 @@ #----------------------------------------------------------------------- # Wacom Bamboo. +# Solução relacionado a Nvidia: https://www.youtube.com/watch?v=BjdbQo0yXB8 +# Mostra informações do Driver da Nvidia. +# nvidia-smi + # Mostra se tem Wacom plugada em porta USB. -# echo "Wacom plugados na USB: $(lsusb | grep 'Wacom')" -echo "Wacom plugados na USB" +echo "Wacom plugados na USB:" lsusb | grep 'Wacom' echo +# Lista dispositivos conectados. +# xinput list + # Dispositivos Wacom conectados. -echo "Componentes Wacom conectados" +echo "Componentes Wacom conectados:" xsetwacom --list devices echo @@ -39,15 +45,14 @@ WACOM="Wacom Bamboo Connect" # echo $WACOM # Monitores disponíveis. -# echo "Monitores disponíveis" +echo "Monitores disponíveis:" +xrandr --listactivemonitors # xrandr --query | grep " connected " | awk '{print $1}' # echo -# Monitores conectados. -# monitors=$(xrandr --query | grep " connected" | awk '{print $1}') - # Monitores conectados na forma de array. mapfile -t monitors < <(xrandr --query | grep " connected" | awk '{print $1}') +# echo ${monitors[@]} # Array para armazenar as coordenadas X dos monitores. coordinates_array=() @@ -81,16 +86,24 @@ fi # Lê a opção escolhida. # opcao=1 read opcao +echo "Opção escolhida: $opcao" if [ $opcao -eq 0 ] then # echo "Escolheu 0" - MAINMONITOR=$(xrandr | grep ' connected' | awk '{print gensub(/(.+).*connected.*/, "\\1", "g")}' | sed -n '1p') + MONITORINFO=$(xrandr | grep ' connected' | sed -n '1p') elif [ $opcao -eq 1 ] then # echo "Escolheu 1" - MAINMONITOR=$(xrandr | grep ' connected' | awk '{print gensub(/(.+).*connected.*/, "\\1", "g")}' | sed -n '2p') + MONITORINFO=$(xrandr | grep ' connected' | sed -n '2p') fi +# Captura a geometria do monitor escolhido: WxH+h+v -> 1920x1080+0+0 +# MAINMONITOR=$(echo $MONITORINFO | awk '{print gensub(/.*[^0-9]([0-9]+x[0-9]+\+[0-9]+\+[0-9]+).*/, "\\1", "g")}') +MAINMONITOR=$(awk '{print gensub(/.*[^0-9]([0-9]+x[0-9]+\+[0-9]+\+[0-9]+).*/, "\\1", "g")}' <<< $MONITORINFO) + +# Captura o nome do monitor escolhido. +# MAINMONITOR=$(awk '{print gensub(/(.+) .*connected.*/, "\\1", "g")}' <<< $MONITORINFO) + echo "Monitor escolhido: $MAINMONITOR" echo @@ -105,16 +118,22 @@ echo # Mapeia a Wacom para o monitor principal. # https://www.mankier.com/1/xsetwacom if xsetwacom --list devices | grep -q "$WACOM .* STYLUS"; then - xsetwacom --set "$WACOM Pen stylus" MapToOutput $MAINMONITOR - xsetwacom --set "$WACOM Pen stylus" Rotate half + xsetwacom --set "$WACOM Pen stylus" MapToOutput "$MAINMONITOR" + # Rotate: none, cw, ccw, half + # xsetwacom --set "$WACOM Pen stylus" Rotate half fi if xsetwacom --list devices | grep -q "$WACOM .* ERASER"; then - xsetwacom --set "$WACOM Pen eraser" MapToOutput $MAINMONITOR + xsetwacom --set "$WACOM Pen eraser" MapToOutput "$MAINMONITOR" fi if xsetwacom --list devices | grep -q "$WACOM .* PAD"; then - xsetwacom --set "$WACOM Pad pad" MapToOutput $MAINMONITOR + xsetwacom --set "$WACOM Pad pad" MapToOutput "$MAINMONITOR" fi +# xsetwacom --help +# xsetwacom --list parameters +# xsetwacom --list modifiers +# xsetwacom --list devices + # Configura para manter mapeamento isométrico. ------------------------- if xsetwacom --list devices | grep -q "$WACOM .* STYLUS"; then