Скрипт позволяет записать видео со звуком с выбранного окна экрана.
В /usr/local/bin создаём файлик screenrecord
sudo nano /usr/local/bin/screenrecord
Вставляем туда следующее содержимое:
#!/bin/sh
WRITEPATH="/home/user/videoin/"
date_time=$(date --iso-8601=seconds)
# Date_time=$(date +%Y%m%d_%k-%M-%S)
FNAME=$WRITEPATH$date_time.mkv
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:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/' )
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s $WIN_GEO -i :0.0+$WIN_XY -strict experimental -acodec aac -vcodec mpeg4 $FNAME
Переменная WRITEPATH - путь для записи видео (путь должен существовать и пользователь должен иметь права на запись).
Даём право на выполнение:
sudo chmod 755 /usr/local/bin/screenrecord
Создаём пункт меню, где командой указываем /usr/local/bin/screenrecord, в дополнительно ставим птичку на "Запускать в окне терминала"
Перед записью необходимо в звуковом микшере выключить устройства с которых не нужно писать звук.
Начало записи:
После запуска откроется окно терминала и курсор изменит вид на крестик. Сочетанием клавиш переключения между окнами (у меня "Alt"+"Tab") переходим к нужному окну, наводим курсор в область окна и кликаем для начала записи.
Окончание записи: Перейти в окно терминала и прервать запись нажатием "Ctrl"+"c"
Комментарии (5)
Можно, если есть время и необходимость попробуйте.
Координаты мышки можно снимать командой:
xdotool getmouselocation
Спасибо, как будет время попробую=)
У меня в .bashrc alias прописан:
alias sct="ffmpeg -f x11grab -follow_mouse centered -show_region 1 -i :0.0 -target ntsc-dvd -aspect 16:9 -an -threads 2 -y screencastNTSC.avi"
Его можно исправить для себя т.к. он пишет без звука.
Пишет часть экрана выделеную рамкой,размер кадра по стандарту NTSC.
Когда понадобится, попробую. Спасибо!
Отправить комментарий