diff options
Diffstat (limited to '.scripts/screencast')
| -rwxr-xr-x | .scripts/screencast | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/.scripts/screencast b/.scripts/screencast index b24beb2..6ffe854 100755 --- a/.scripts/screencast +++ b/.scripts/screencast @@ -1,38 +1,26 @@ -#!/bin/bash +#!/bin/sh # This script records a screencast with audio and video. # It runs an appropriate record script for either ALSA and Pulseaudio. # It also names files smartly to prevent overwrites. # Picks a file name for the output file based on availability: -while [[ -f $HOME/screencast$n.mkv ]] +while [ -f "$HOME/screencast$n.mkv" ] do n=$((n+1)) done filename="$HOME/screencast$n.mkv" -# For Pulseaudio with ALSA: -record_pulse() { \ ffmpeg -y \ -f x11grab \ -framerate 60 \ --s $(xdpyinfo | grep dimensions | awk '{print $2;}') \ +-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \ -i :0.0 \ -f alsa -i default \ -r 30 \ - -c:v libx264rgb -crf 0 -preset ultrafast -c:a flac $filename ;} + -c:v libx264rgb -crf 0 -preset ultrafast -c:a flac "$filename" & -# For ALSA: -record_alsa() { \ -ffmpeg -y \ --f x11grab \ --s $(xdpyinfo | grep dimensions | awk '{print $2;}') \ --i :0.0 \ --thread_queue_size 1024 \ - -f alsa -ar 44100 -i hw:1 \ - -c:v libx264 -r 30 -c:a flac $filename ;} - - -if [[ $(pgrep -x pulseaudio) ]]; then record_pulse; else record_alsa; fi & +# PID outputted for use by the killrecording script +echo $! > ~/.recordingpid # Updating i3blocks recording icon: echo ⏺️ > ~/.recordingicon && pkill -RTMIN+9 i3blocks |
