betlog

recordDesktop-START_embed-specifiedSource_wav-specifiedSource.sh

Oct 30th, 2019
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.31 KB | None | 0 0
  1. #!/bin/bash
  2. # BETLOG - 2019-10-24--19-36-55
  3. #
  4. # ------- generic
  5. # /home/user/documents/scripts/audio/listAudioSources.sh
  6. AUDIOPREF_OUT="alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor"
  7. AUDIOPREF_MIC="alsa_input.pci-0000_00_1b.0.analog-stereo"
  8. OUTPUTPATH="/home/user/.steamdata/video"
  9. MODULENULLSINKNAME="combinedSinks"
  10. FRAMERATE=60.00 #59.94006   #30 #29.970030
  11. VIDEOCODEC=h264_nvenc
  12. # ========
  13. if [[ $(pgrep ffmpeg) ]];then
  14.     paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/warzone2100-beacon.ogg" 1> /dev/null    
  15.     kdialog --title "Recording Desktop" --passivepopup "ALREADY RECORDING" 3
  16.     exit
  17. fi
  18. paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/bell.oga" 1> /dev/null
  19. title="_$(xdotool getwindowname $(xdotool getactivewindow 2> /dev/null) 2> /dev/null|sed 's/[^[:alnum:]]//g')"
  20. resolution=$(xrandr | grep -m1 "*" | awk '{print $1}')
  21. msg="\\n"
  22. # ------- wav - AUDIOPREF_MIC
  23. data=$(echo $AUDIOPREF_MIC|sed 's/\.monitor//'|awk -F'.' '{print $1 " " $NF}')
  24. type=$(echo $data|awk '{print $1}'|sed 's/alsa_//')
  25. nameLong=$(echo $data|awk '{print $2}')
  26. nameShort=$(echo $nameLong|sed 's/[^[:alnum:]]//g')    
  27. msg+="$type: $nameLong\\n"    
  28. ffmpeg -f pulse -i $AUDIOPREF_MIC "$OUTPUTPATH/$(date +%Y-%m-%d--%H-%M-%S.%3N)${title}_${nameShort}.wav" &
  29. # ------- embed - AUDIOPREF_OUT
  30. data=$(echo $AUDIOPREF_OUT|sed 's/\.monitor//'|awk -F'.' '{print $1 " " $NF}')
  31. type=$(echo $data|awk '{print $1}'|sed 's/alsa_//')
  32. nameLong=$(echo $data|awk '{print $2}')
  33. nameShort=$(echo $nameLong|sed 's/[^[:alnum:]]//g')    
  34. msg+="$type: $nameLong\\n"    
  35. ffmpeg \
  36. -hwaccel cuvid \
  37. -f pulse \
  38. -i $AUDIOPREF_OUT \
  39. -f x11grab \
  40. -s $resolution \
  41. -i :0.0 \
  42. -r $FRAMERATE \
  43. -vcodec $VIDEOCODEC \
  44. -b:v 0 \
  45. "$OUTPUTPATH/$(date +%Y-%m-%d--%H-%M-%S.%3N)${title}.mkv" &
  46. # ------- generic
  47. if [[ $! ]];then
  48.     [[ -L $0 ]] && name=$(basename $(readlink $0)) || name=$(basename $0)
  49.     kdialog --title "${name%%_*}" --passivepopup "$(echo ${name##*START_}|sed 's/.sh//')\\n$resolution@$FRAMERATE$msg" 3
  50. else
  51.     paplay --volume=32768 --device=${AUDIOPREF_OUT/.monitor/} "/home/user/music/audio/_all-alarms-notifications-ringtones/Wookie.mp3" 1> /dev/null
  52.     kdialog --title "Recording Desktop - ERROR" --passivepopup "Process not found" 3
  53. fi
Advertisement
Add Comment
Please, Sign In to add comment