Скрипт для видеозаписи окна программы со звуком с экрана

Изображение пользователя sawa.

Скрипт позволяет записать видео со звуком с выбранного окна экрана.

В /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)

0
rosenrot - 29 Май, 2013 - 20:56
Изображение пользователя rosenrot.

А нельзя сделать возможность записи определенной области в окне? Область выделять тем же крестиком например.

+1
sawa - 30 Май, 2013 - 21:09
Изображение пользователя sawa.

Можно, если есть время и необходимость попробуйте.
Координаты мышки можно снимать командой:
xdotool getmouselocation

0
Гость - 30 Май, 2013 - 21:56

Спасибо, как будет время попробую=)

+2
Гость - 12 Июнь, 2013 - 17:14

У меня в .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.

0
rosenrot - 13 Июнь, 2013 - 07:39
Изображение пользователя rosenrot.

Когда понадобится, попробую. Спасибо!

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры