screencast() { arecord -R 1000 -f cd -t wav $1.wav & RECPID=$!; echo "Starting screencast in new shell. Exit subshell to quit."; script -t 2> $1.timing -a $1.session; kill $RECPID; }
Команда screencast()
создает скринкаст (запись экрана) с одновременной записью аудио. Она использует программы arecord
и script
для записи аудио и текста соответственно.
При вызове команды screencast
, первым аргументом передается имя файла, в котором будет сохранен скринкаст.
Команда arecord
используется для записи аудио. Она задает частоту дискретизации в 1000 Гц, формат записи — CD Audio (16 бит, стерео), а имя выходного файла задается первым аргументом скрипта, добавляя к нему расширение .wav
. Запись аудио происходит в фоновом режиме, а ID процесса записи сохраняется в переменной RECPID
.
Команда script
записывает все выводимые в терминал данных в файл с именем $1.session
(первый аргумент скрипта). Опция -t
указывает на запись временных меток в файл $1.timing
, который содержит информацию о времени каждой команды и ее продолжительности.
После запуска script
выводится сообщение о начале записи скринкаста, и для завершения записи скрипт необходимо закрыть (Ctrl+D).
Альтернативой этой команде может быть использование специализированных инструментов для создания скринкастов, таких как OBS Studio, SimpleScreenRecorder, или Kazam.