Browse Source

scrn-rec: A simple script for recording video from your desktop

master
Sergey Kiselev 5 months ago
parent
commit
12fbce53a2
  1. 10
      README.md
  2. 41
      scrn-rec

10
README.md

@ -90,3 +90,13 @@ GUI-обёртка над `www/yt-dlp` для воспроизведения в
---
## scrn-rec
Скрипт для записи видео с экрана средствами `ffmpeg` и `x11grab`.
Для работы скрипта необходимы:
- `ffmpeg` (`multimedia/ffmpeg`), собранный с опцией `XCB`;
- `yad` (`x11/yad`).
---

41
scrn-rec

@ -0,0 +1,41 @@
#!/bin/sh
REC="$( which ffmpeg )"
[ -z ${REC} ] && {
echo "ERR: ffmpeg not found in \$PATH"
exit 1
}
OPT="${HOME}/.local/tmp"
FIFO="${OPT}/scrn-rec.pipe"
DATE="$( date +%Y%m%d_%H%M%S )"
DIR="${HOME}/media/screencasts"
FILE="$( hostname | cut -d\. -f1 )-${DATE}.mp4"
mkdir -p "${DIR}" || {
echo "ERR: can not create ${DIR} dir"
exit 1
}
mkfifo "${FIFO}"
${REC} -y -f x11grab -video_size 1920x1080 \
-i :0.0 -r 30 -codec:v libx264 \
-pix_fmt yuv420p \
-preset ultrafast \
-crf 22 -threads 0 \
"${DIR}/${FILE}" <"${FIFO}" &
exec 3> "${FIFO}"
( yad \
--geometry="-340-32" \
--title="STOP" \
--window-icon="" \
--undecorated \
--skip-taskbar \
--sticky \
--on-top \
--button='!gtk-stop:1'; echo "q" >&3; sleep 2; rm -f "${FIFO}" ) &
Loading…
Cancel
Save