add functionality to record function

This commit is contained in:
randomuser 2023-01-15 16:41:46 -06:00
parent 2d8d1733be
commit ae09b5fff9
1 changed files with 27 additions and 8 deletions

View File

@ -71,26 +71,45 @@ record() {
fzy | fzy |
awk -F' ' '{print $2}' ) awk -F' ' '{print $2}' )
ffmpeg -video_size "$res" -f x11grab -framerate 60 -i $DISPLAY -preset ultrafast -pix_fmt yuv420p "$tmp.mp4" medium=$(printf ".mp4\n.png\n" | fzy)
output="$tmp$medium"
printf "> written to %s\n" "$tmp.mp4" case "$medium" in
*mp4*)
printf "> starting video capture...\n"
ffmpeg -video_size "$res" -f x11grab -framerate 60 -i $DISPLAY -preset ultrafast -pix_fmt yuv420p "$output"
;;
*png*)
printf "> taking screenshot...\n"
# for a screenshot, we usually want an a s t h e t i c
ffmpeg -f x11grab -video_size "$res" -i $DISPLAY -vframes 1 "$output" -loglevel quiet # be quiet
;;
*)
printf "not a choice\n"
return
esac
printf "> written to %s\n" "$output"
while true; do while true; do
set -x
result=$(printf "delete\nmove to home directory\nupload to pastebin\nreview footage\nquit\n" | fzy --prompt="what next? ") result=$(printf "delete\nmove to home directory\nupload to pastebin\nreview footage\nquit\n" | fzy --prompt="what next? ")
case "$result" in case "$result" in
*upload*) *upload*)
paste "$tmp.mp4" | xclip -i paste "$output" | xclip -i
printf "> pasted! check your clipboard\n"
;; ;;
*review*) *review*)
mpv "$tmp.mp4" [ "$medium" = ".mp4" ] && mpv "$output" && continue
feh "$output"
;; ;;
*delete*) *delete*)
rm "$tmp.mp4" printf "> removing target file...\n"
rm "$output"
return return
;; ;;
*home*) *home*)
name=$(echo "capture.mp4" | fzy --prompt="name please? ") printf "> warping your capture to home...\n"
mv "$tmp.mp4" "$HOME/$name.mp4" name=$(echo "capture$medium" | fzy --prompt="name please? ")
mv "$output" "$HOME/$name"
return return
;; ;;
*quit*) *quit*)