LINUX.ORG.RU

ffmpeg запись экрана - хочу чтобы на экране была красная рамочка - как?

 


1

2

Есть вот такой скрипт записи экрана.

  1. Подождать 2 сек пока переключимся из консоли в нужное окно
  2. Записывать 59 сек.
  3. Проиграть торжественый звук окончания.
sleep 2;
TIME="00:00:58"
ffmpeg \
  -f alsa -i default -ac 2 \
  -f x11grab -video_size 1080x1920 -framerate 30 -i :0.0+1300,400 -vf format=yuv420p -t ${TIME}  /tmp/output.mp4 -y
ffplay /home/sobaka/smooth-completed-notify-starting-alert-274739.mp3

Всё зашибись, но хочу видеть на экране рамочку вокруг записываемого места, чтобы точно видеть во время записи, что попадёт в видос, а что будет за границей. Пасиба.

О Т В Е Т

Вот это надо запихать в ПРАВИЛЬНОЕ место командной строки, где-то после -f x11grab, точно не помню:

-show_region 1


Последнее исправление: lesopilorama (всего исправлений: 2)

вот держи - вешаешь на горячие, жиманул - выделил - запись пошла и рамочка присутствует, жиману еще раз - запись окончилась

#!/bin/bash
fuser -sk -SIGINT "$0"
test "$1" = off && exit 0
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -enx "$0" "$0" "$@" || :
slop=$(slop -f "%x %y %w %h %g %i") || exit 1
read -r X Y W H G ID <<< $slop
ffmpeg -f x11grab -show_region 1 -s "$W"x"$H" -i :0.0+$X,$Y $HOME/$(date +"%F_%T").mp4
exit
anonymous
()

или так еще лучще - запись со звуком в конце beep

#!/bin/bash
fuser -sk -SIGINT "$0"
test "$1" = off && exit 0
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -enx "$0" "$0" "$@" || :
slop=$(slop -f "%x %y %w %h %g %i") || exit 1
read -r X Y W H G ID <<< $slop
ffmpeg \
  -f alsa -i default -ac 2 \
  -f x11grab -show_region 1 -s "$W"x"$H" -i :0.0+$X,$Y $HOME/$(date +"%F_%T").mp4 -y
beep
exit
anonymous
()