72 lines
1.7 KiB
Bash
Executable File
72 lines
1.7 KiB
Bash
Executable File
#!/bin/sh -xe
|
|
|
|
clear
|
|
|
|
AUDIOPLAYDEVICE=snd/0.default
|
|
AUDIORECDEVICE=snd/0.rec
|
|
AUDIOMONDEVICE=snd/0.mon
|
|
|
|
AUDIOMONPID=X
|
|
AUDIORECPID=X
|
|
|
|
trap rec_stop 1 2 3 6
|
|
rec_stop() {
|
|
kill $AUDIORECPID $AUDIOMONPID
|
|
}
|
|
|
|
rec_mon() {
|
|
aucat -f $AUDIOMONDEVICE -o $HOME/work/rec-mon.wav &
|
|
AUDIOMONPID=$!
|
|
}
|
|
|
|
rec_mic() {
|
|
aucat -j on -c 0:0 -o $HOME/work/rec-mic.wav &
|
|
AUDIORECPID=$!
|
|
}
|
|
|
|
rec_screen() {
|
|
echo 'Press q to stop.'
|
|
#ffmpeg -y \
|
|
# -loglevel warning \
|
|
# -hide_banner \
|
|
# -fflags genpts \
|
|
# -flags low_delay \
|
|
# -thread_queue_size 256 \
|
|
# -framerate 30 \
|
|
# -f x11grab \
|
|
# -probesize 16M \
|
|
# -i :0.0 \
|
|
# -c:v libx264rgb \
|
|
# -crf 0 \
|
|
# -qp 0 -framerate 30 \
|
|
# -sws_flags neighbor \
|
|
# -preset ultrafast \
|
|
# -tune zerolatency \
|
|
# $HOME/work/rec-screen.mkv
|
|
ffmpeg -y -loglevel warning -hide_banner \
|
|
-f x11grab -i :0.0 -c:v libx264rgb -crf 0 -qp 0 -framerate 30 -sws_flags neighbor -preset ultrafast -tune zerolatency $HOME/work/rec-screen.mkv \
|
|
-f sndio -i $AUDIORECDEVICE -c:a copy $HOME/work/rec-mic.wav \
|
|
-f sndio -i $AUDIOMONDEVICE -c:a copy $HOME/work/rec-mon.wav
|
|
}
|
|
|
|
#rec_mon
|
|
#rec_mic
|
|
rec_screen
|
|
#rec_stop
|
|
|
|
sleep 0.5
|
|
|
|
sox $HOME/work/rec-mic.wav -n trim 0 5 noiseprof \
|
|
| sox $HOME/work/rec-mic.wav $HOME/work/rec-mic-clean.wav \
|
|
noisered - 0.2 bass 5 contrast
|
|
#sox $HOME/work/rec-mic.wav $HOME/work/rec-mic-clean.wav bass 5 contrast
|
|
|
|
printf "[A]utoencode or [S]hotcut: "
|
|
read S
|
|
|
|
case $S in
|
|
[aA]) rec_encode; ;;
|
|
[sS]) shotcut --noupgrade --fullscreen --clear-recent $HOME/work/rec-screen.mkv $HOME/work/rec-*.wav; ;;
|
|
*) ;;
|
|
esac
|