X-Git-Url: https://git.slaskete.net/einar-bin/blobdiff_plain/091316e375e8d5a509d510d1b5527d524c1b56ed..9e738cd1a4374c4ea3d78b5ae5b1d4729a1313bb:/ffmpeg-grab-window-with-sound.bash?ds=sidebyside diff --git a/ffmpeg-grab-window-with-sound.bash b/ffmpeg-grab-window-with-sound.bash new file mode 100755 index 0000000..49ea1e1 --- /dev/null +++ b/ffmpeg-grab-window-with-sound.bash @@ -0,0 +1,10 @@ +#!/bin/bash + +INFO=$(xwininfo -frame) + +WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+') +WIN_XY=$(echo $INFO | grep -oEe 'Corners: \+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/') +WIN_X=$(echo $WIN_GEO | cut -d "x" -f 1 | awk '{print $1+$1%2}') +WIN_Y=$(echo $WIN_GEO | cut -d "x" -f 2 | awk '{print $1+$1%2}') + +ffmpeg -f alsa -ac 1 -i pulse -f x11grab -r 30 -s ${WIN_X}x${WIN_Y} -i :0.0+${WIN_XY} -vcodec libx264 -vpre lossless_ultrafast -acodec libmp3lame ${HOME}/screencast-$(date +%F-%H-%M-%S).mkv