Generic update.
This commit is contained in:
parent
de255e55d7
commit
868fbb687b
5 changed files with 107 additions and 3 deletions
46
recorder
Executable file
46
recorder
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/bin/sh
|
||||
|
||||
record () {
|
||||
## Options
|
||||
frameRate=60 # FPS
|
||||
audioQuality=10 # Opus Qual - Bad 0 <> 10 Good
|
||||
videoQuality=15 # H264 QVal - Lower is better
|
||||
recordLocation=~/vids/yt
|
||||
|
||||
## Auto-Config - Use the last render device which should be the Intel GPU
|
||||
currentRes=$(xdpyinfo | grep dimensions | awk '{print $2}')
|
||||
|
||||
ffmpeg -loglevel 16 -threads 6 -probesize 10M -framerate ${frameRate} -vsync 1 \
|
||||
-thread_queue_size 512 -f x11grab -s ${currentRes} -r ${frameRate} -i :0.0 \
|
||||
-thread_queue_size 512 -f pulse -ac 2 -channel_layout stereo -i default -c:a libopus -vbr on -compression_level ${audioQuality} \
|
||||
-c:v h264_nvenc -qp ${videoQuality} "${recordLocation}/$(date +%y%m%d%H%M%S).mkv" > /tmp/recorder.log &
|
||||
printf '%s\n' "$!" > /tmp/recording.pid
|
||||
|
||||
if [ "$?" -ne "0" ]; then
|
||||
quick-notify "Recorder" "Failed to start recording"
|
||||
quick-notify "Recorder" "Error: $(cat /tmp/recorder.log)"
|
||||
else
|
||||
touch /tmp/recording.lock
|
||||
quick-notify "Recorder" "Started recording"
|
||||
fi
|
||||
}
|
||||
|
||||
stop () {
|
||||
pid=$(cat /tmp/recording.pid)
|
||||
|
||||
kill $pid
|
||||
|
||||
if [ "$?" -ne "0" ];then
|
||||
quick-notify "Recorder" "Failed to stop recording"
|
||||
else
|
||||
quick-notify "Recorder" "Stopped recording"
|
||||
fi
|
||||
|
||||
rm /tmp/recording.pid /tmp/recording.lock /tmp/recorder.log
|
||||
}
|
||||
|
||||
if [ -f "/tmp/recording.lock" ]; then
|
||||
stop
|
||||
else
|
||||
record
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue