blob: b8fa8eb8f8d032f22c65a15c8071d85751a5b3c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/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 \
-r 24 \
-use_wallclock_as_timestamps 1 \
-f alsa -thread_queue_size 1024 -i default \
-c:v h264 \
-crf 0 -preset ultrafast -c:a aac \
~/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
|