diff options
| author | Vito Graffagnino <vito@graffagnino.xyz> | 2020-09-08 18:10:49 +0100 |
|---|---|---|
| committer | Vito Graffagnino <vito@graffagnino.xyz> | 2020-09-08 18:10:49 +0100 |
| commit | 3b0142cedcde39e4c2097ecd916a870a3ced5ec6 (patch) | |
| tree | 2116c49a845dfc0945778f2aa3e2118d72be428b /.i3/scripts/screencast | |
| parent | 8cc927e930d5b6aafe3e9862a61e81705479a1b4 (diff) | |
Added the relevent parts of the .config directory. Alss add ssh config
Diffstat (limited to '.i3/scripts/screencast')
| -rwxr-xr-x | .i3/scripts/screencast | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.i3/scripts/screencast b/.i3/scripts/screencast new file mode 100755 index 0000000..cd37ab9 --- /dev/null +++ b/.i3/scripts/screencast @@ -0,0 +1,36 @@ +#!/bin/bash + +# 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 ]] +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;}') \ +-i :0.0 \ +-f alsa -i default \ +-r 30 \ + -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 |
