Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # betlog - 2019-10-28--01-42-37
- #
- # ------- generic
- # /home/user/documents/scripts/audio/listAudioSources.sh
- AUDIOPREF_OUT="alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor"
- AUDIOPREF_MIC="alsa_input.pci-0000_00_1b.0.analog-stereo"
- OUTPUTPATH="/home/user/.steamdata/video"
- MODULENULLSINKNAME="combinedSinks"
- FRAMERATE=60.00 #59.94006 #30 #29.970030
- VIDEOCODEC=h264_nvenc
- # ========
- if [[ $(pgrep ffmpeg) ]];then
- paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/warzone2100-beacon.ogg" 1> /dev/null
- kdialog --title "Recording Desktop" --passivepopup "ALREADY RECORDING" 3
- exit
- fi
- paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/bell.oga" 1> /dev/null
- title="_$(xdotool getwindowname $(xdotool getactivewindow 2> /dev/null) 2> /dev/null|sed 's/[^[:alnum:]]//g')"
- resolution=$(xrandr | grep -m1 "*" | awk '{print $1}')
- msg="\\n"
- # ------- individual wav - all NON-SUSPENDED except AUDIOPREF_OUT
- while read -r line; do
- data=$(echo $line|sed 's/\.monitor//'|awk -F'.' '{print $1 " " $NF}')
- type=$(echo $data|awk '{print $1}'|sed 's/alsa_//')
- nameLong=$(echo $data|awk '{print $2}')
- nameShort=$(echo $nameLong|sed 's/[^[:alnum:]]//g')
- msg+="$type: $nameLong\\n"
- if [[ $line != $AUDIOPREF_OUT ]];then
- ffmpeg -f pulse -i "${line}" "$OUTPUTPATH/$(date +%Y-%m-%d--%H-%M-%S.%3N)${title}_${nameShort}.wav" &
- fi
- done < <(pactl list sources short|grep -v SUSPENDED|awk '{print $2}')
- # ------- embed specified audio OUTPUT
- data=$(echo $AUDIOPREF_OUT|sed 's/\.monitor//'|awk -F'.' '{print $1 " " $NF}')
- type=$(echo $data|awk '{print $1}'|sed 's/alsa_//')
- nameLong=$(echo $data|awk '{print $2}')
- msg+="$type: $nameLong\\n"
- ffmpeg \
- -hwaccel cuvid \
- -f pulse \
- -i $AUDIOPREF_OUT \
- -f x11grab \
- -s $resolution \
- -i :0.0 \
- -r $FRAMERATE \
- -vcodec $VIDEOCODEC \
- -b:v 0 \
- "$OUTPUTPATH/$(date +%Y-%m-%d--%H-%M-%S.%3N)${title}.mkv" &
- # ------- generic
- if [[ $! ]];then
- [[ -L $0 ]] && name=$(basename $(readlink $0)) || name=$(basename $0)
- kdialog --title "${name%%_*}" --passivepopup "$(echo ${name##*START_}|sed 's/.sh//')\\n$resolution@$FRAMERATE$msg" 3
- else
- paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/Wookie.mp3" 1> /dev/null
- kdialog --title "Recording Desktop - ERROR" --passivepopup "Process not found" 3
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement