30 lines
611 B
Bash
Executable File
30 lines
611 B
Bash
Executable File
#!/bin/sh
|
|
|
|
screencast() { \
|
|
ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 \
|
|
-f pulse -ac 2 -ar 48000 -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \
|
|
~/vids/recs/"$(date '+%C%y-%m%M-%d-%H-%M-%S').mp4" &
|
|
echo $! > /tmp/recordingpid
|
|
}
|
|
|
|
|
|
killrecording() {
|
|
recpid="$(cat /tmp/recordingpid)"
|
|
kill -15 "$recpid"
|
|
rm -f /tmp/recordingpid
|
|
sleep 3
|
|
kill -9 "$recpid"
|
|
exit
|
|
}
|
|
|
|
asktoend() { \
|
|
response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
|
|
[ "$response" = "Yes" ] && killrecording
|
|
}
|
|
|
|
if [ -f /tmp/recordingpid ]; then
|
|
asktoend && exit
|
|
else
|
|
screencast
|
|
fi
|