Krolyxon
Commit d31711a

Branches

Refs →

dotfiles-x11.localbindmenurecord

34 lines · 755 B · Bourne Again Shell (bash)

1#!/bin/sh
2
3screencast() { \
4 ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 \
5 -f pulse -ac 2 -ar 48000 -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \
6 -r 24 \
7 -use_wallclock_as_timestamps 1 \
8 -f alsa -thread_queue_size 1024 -i default \
9 -c:v h264 \
10 -crf 0 -preset ultrafast -c:a aac \
11 ~/vids/recs/"$(date '+%C%y-%m%M-%d-%H-%M-%S').mp4" &
12 echo $! > /tmp/recordingpid
13}
14
15
16killrecording() {
17 recpid="$(cat /tmp/recordingpid)"
18 kill -15 "$recpid"
19 rm -f /tmp/recordingpid
20 sleep 3
21 kill -9 "$recpid"
22 exit
23 }
24
25asktoend() { \
26 response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
27 [ "$response" = "Yes" ] && killrecording
28 }
29
30if [ -f /tmp/recordingpid ]; then
31 asktoend && exit
32else
33 screencast
34fi