echo "Click a window to start recording"; read x y W H <<< `xwininfo | grep -e Width -e Height -e Absolute | grep -oE "[[:digit:]]{1,}" | tr "\n" " "`; ffmpeg -f alsa -ac 1 -i pulse -f x11grab -s ${W}x${H} -r 25 -i :0.0+${x},${y} -sameq output.mkv
Команда echo
отображает сообщение в терминале. В данном случае, она выводит текст «Click a window to start recording».
Команда read
считывает ввод пользователя и сохраняет его в переменные. Здесь она считывает значения x, y, W и H из вывода команды xwininfo
. xwininfo
отображает информацию о окне, а команды grep
и tr
используются для извлечения необходимых численных значений.
Команда ffmpeg
используется для записи видео и аудио. Она принимает следующие аргументы:
— -f alsa -ac 1 -i pulse
указывает на использование аудиоустройства ALSA для записи звука.
— -f x11grab -s ${W}x${H} -r 25 -i :0.0+${x},${y}
указывает на использование x11 для захвата видео определенного окна с заданными размерами (WxH) и координатами (x,y).
— -sameq output.mkv
задает выходной файл с именем «output.mkv».
Альтернативой может быть использование других инструментов для записи экрана или захвата окна, таких как recordmydesktop
или gnome-screenshot
.