From 5eb0dbf136a9ad582192e003b7573a080514f063 Mon Sep 17 00:00:00 2001 From: Xiao Pan Date: Tue, 9 Jan 2024 04:09:59 -0800 Subject: init from config_local_arch personal shell scripts git log history see https://git.flylightning.xyz/config_local_arch/tree/home/xyz/.local/bin?id=d266c511cffb7eeb20bf1e4610d9d32557b7d0e6 --- reco | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 reco (limited to 'reco') diff --git a/reco b/reco new file mode 100755 index 0000000..7ee726d --- /dev/null +++ b/reco @@ -0,0 +1,28 @@ +#!/bin/sh + +# useful urls: +# https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenurecord +# https://wiki.archlinux.org/title/FFmpeg#Screen_capture +# https://trac.ffmpeg.org/wiki/Capture/Desktop + +infofile="/tmp/recoinfo" +recodir="$XDG_VIDEOS_DIR/recordings/" +tmpdir="$recodir/tmp/" +mkdir -p "$recodir" "$tmpdir" + +if [ -e "$infofile" ]; then + read -r pid tmpfile < "$infofile" + kill "$pid" + notify-send 'finish recording, start converting' + ffmpeg -i "$tmpfile" "$recodir/$(time-uuid).mkv" + notify-send 'finish converting' + rm "$tmpfile" "$infofile" +else + tmpfile="$tmpdir/$(time-uuid).mkv" + notify-send 'prepare recording' + # arch wiki way, no audio, less cpu use during capturing (fast?), large file size, need convert afterward + xrectsel '%w %h %x %y' | xargs sh -c 'ffmpeg -y -loglevel quiet -f x11grab -framerate 25 -s "$2x$3" -i "$DISPLAY+$4,$5" -c:v ffvhuff "$1" & echo $!' shell "$tmpfile" | xargs -I {} printf '%s\t%s' '{}' "$tmpfile" > "$infofile" + # another way to get subshell ffmpeg child pid + #xrectsel '%w %h %x %y' | xargs sh -c 'ffmpeg -y -f x11grab -framerate 25 -s "$2x$3" -i "$DISPLAY+$4,$5" -c:v ffvhuff "$1"' shell "$tmpfile" & + #printf '%s\t%s' "$(ps -o pid= --ppid $!)" "$tmpfile" > "$infofile" +fi -- cgit v1.2.3-70-g09d2