voidrice/.scripts/screencast

27 lines
725 B
Text
Raw Normal View History

2018-09-09 02:43:47 +00:00
#!/bin/sh
2018-04-11 06:08:43 +00:00
# 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:
2018-09-09 02:43:47 +00:00
while [ -f "$HOME/screencast$n.mkv" ]
2018-04-11 06:08:43 +00:00
do
n=$((n+1))
done
filename="$HOME/screencast$n.mkv"
ffmpeg -y \
-f x11grab \
-framerate 60 \
2018-09-09 02:43:47 +00:00
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
2018-04-11 06:08:43 +00:00
-i :0.0 \
-f alsa -i default \
-r 30 \
2018-09-09 02:43:47 +00:00
-c:v libx264rgb -crf 0 -preset ultrafast -c:a flac "$filename" &
2018-04-11 06:08:43 +00:00
2018-09-09 02:43:47 +00:00
# PID outputted for use by the killrecording script
echo $! > ~/.recordingpid
# Updating i3blocks recording icon:
2018-08-04 17:49:54 +00:00
echo ⏺️ > ~/.recordingicon && pkill -RTMIN+9 i3blocks