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
 | 
