This commit is contained in:
coolnsx
2023-08-10 12:41:11 +05:30
parent c7e738dc42
commit 297bc90938

11
screen
View File

@@ -11,7 +11,7 @@ menu() {
bemenu --fn 'IBM Plex Sans 15' -i -c -W "0.${2:-5}" -B 3 -p "$1" -l 26 bemenu --fn 'IBM Plex Sans 15' -i -c -W "0.${2:-5}" -B 3 -p "$1" -l 26
} }
record (){ record() {
rm -f "$tmp_file" "$process_file" rm -f "$tmp_file" "$process_file"
source=$(printf "screen only\nspeaker\nmic" | menu "Audio Source:" "3") source=$(printf "screen only\nspeaker\nmic" | menu "Audio Source:" "3")
monitor=$(hyprctl monitors | sed -nE 's|Monitor ([^ ]*).*|\1|p') monitor=$(hyprctl monitors | sed -nE 's|Monitor ([^ ]*).*|\1|p')
@@ -28,21 +28,20 @@ compress() {
duration=$(ffprobe -hide_banner -i "$tmp_file" 2>&1 | sed -nE 's|.*Duration: ([^,]*).*|\1|p') duration=$(ffprobe -hide_banner -i "$tmp_file" 2>&1 | sed -nE 's|.*Duration: ([^,]*).*|\1|p')
i=19 i=19
while :;do while :; do
ffmpeg -loglevel error -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i "$tmp_file" -vf 'format=nv12,hwupload' -c:v h264_vaapi -qp "$i" "$process_file" -y -progress - | while read -r line; ffmpeg -loglevel error -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i "$tmp_file" -vf 'format=nv12,hwupload' -c:v h264_vaapi -qp "$i" "$process_file" -y -progress - | while read -r line; do
do
complete=$(printf "%s\n" "$line" | sed -nE 's|out_time=(.*)|\1|p') complete=$(printf "%s\n" "$line" | sed -nE 's|out_time=(.*)|\1|p')
[ -n "$complete" ] && info "ffmpeg" "700" "Compressing File under 25 MB Using Quality Preset : $i.." "$complete out of $duration ($(du -m "$process_file" | cut -f1) MB)" [ -n "$complete" ] && info "ffmpeg" "700" "Compressing File under 25 MB Using Quality Preset : $i.." "$complete out of $duration ($(du -m "$process_file" | cut -f1) MB)"
[ "$(du -m "$process_file" | cut -f1)" -gt 25 ] && killall -s KILL ffmpeg && break [ "$(du -m "$process_file" | cut -f1)" -gt 25 ] && killall -s KILL ffmpeg && break
done done
[ "$(du -m "$process_file" | cut -f1)" -lt 25 ] && break [ "$(du -m "$process_file" | cut -f1)" -lt 25 ] && break
: $((i+=1)) : $((i += 1))
done done
info "ffmpeg" "1000" "File Successfully compressed with Quality Preset : $i" info "ffmpeg" "1000" "File Successfully compressed with Quality Preset : $i"
[ -f "$process_file" ] && tmp_file=$process_file [ -f "$process_file" ] && tmp_file=$process_file
} }
stop (){ stop() {
pgrep -af wf-recorder >/dev/null && killall -s SIGINT wf-recorder 2>/dev/null || return 0 pgrep -af wf-recorder >/dev/null && killall -s SIGINT wf-recorder 2>/dev/null || return 0
info "" "" "Recording Stopped" info "" "" "Recording Stopped"
case $(printf "save locally\nupload to oshi\nupload to discord" | menu "Post-Record:" '3') in case $(printf "save locally\nupload to oshi\nupload to discord" | menu "Post-Record:" '3') in