diff options
author | Timmy Keller <tjk@tjkeller.xyz> | 2021-10-26 02:25:17 -0500 |
---|---|---|
committer | Timmy Keller <tjk@tjkeller.xyz> | 2021-10-26 02:25:17 -0500 |
commit | d75d53fe79ee7cf0d2efd30d5e191def8c746056 (patch) | |
tree | 1eb44a422da9c32022f61e01f7b2f215adee37d5 /video/screenrec | |
parent | 6b0cb35fd2383caff09c46996087ddd9b28f9d0a (diff) | |
download | scripts-d75d53fe79ee7cf0d2efd30d5e191def8c746056.tar.xz scripts-d75d53fe79ee7cf0d2efd30d5e191def8c746056.zip |
changed a bunch of video scripts and added my first and possibly last python script, although it was fun
Diffstat (limited to 'video/screenrec')
-rwxr-xr-x | video/screenrec | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/video/screenrec b/video/screenrec index 91edcd0..fa6b628 100755 --- a/video/screenrec +++ b/video/screenrec @@ -1,6 +1,20 @@ #!/bin/sh newname() { defname="video"; name=$defname`ls | grep "^$defname[0-9]*" | wc -l | tr -d '[:blank:]'`.mkv; } -vs=`cat /sys/class/drm/*/modes | head -1` -vs=1366x768 [ -z "$1" ] && newname || name="$1" -ffmpeg -hide_banner -video_size $vs -framerate 60 -f x11grab -i :0.0+0,0 -c:v libx264 -preset ultrafast -qp 1 -pix_fmt yuv444p "$name" +# Get screen info. I suspect this script wouldn't work too well with multiple screens. Somebody else can add that +resinfo="$(xrandr | grep '*' | tr -s ' ')" +vs="$(echo "$resinfo" | cut -d' ' -f2)" +fr="$(echo "$resinfo" | sed 's/.*\s\([0-9]*\.[0-9]*\)\*.*/\1/')" +# -i is screen coordinates for top-leftmost screen +# Encoder settings are basically lossless and optimized for good speed, decent size, and great quality +# yuv444p colorspace is needed for a 24 bit rgb monitor, change for hdr. yuv420p is the default and is good for video, but is inadequate for screencasts +ffmpeg -hide_banner \ + -video_size $vs \ + -framerate $fr \ + -f x11grab \ + -i :0.0+0,0 \ + -c:v libx264 \ + -preset ultrafast \ + -qp 1 \ + -pix_fmt yuv444p \ + "$name" |