aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscreencaster17
-rwxr-xr-xxres9
2 files changed, 22 insertions, 4 deletions
diff --git a/screencaster b/screencaster
index 9718528..72b766f 100755
--- a/screencaster
+++ b/screencaster
@@ -1,7 +1,13 @@
-#!/bin/bash
+#!/usr/bin/env bash
#
# Screencast recorder
+#
# See https://links.fluxo.info/bookmarks/rhatto/screencast
+# https://askubuntu.com/questions/4428/how-can-i-record-my-screen
+# https://github.com/dilawar/Scripts/blob/master/record_my_desktop.sh
+# https://trac.ffmpeg.org/wiki/Capture/Desktop
+# https://andreafortuna.org/2019/09/20/how-to-record-screen-on-linux-from-command-line/
+# https://superuser.com/questions/510985/how-can-i-crop-a-video-to-a-part-of-the-view
#
# Parameters
@@ -15,8 +21,15 @@ if [ -z "$OUT" ]; then
exit 1
fi
+# Calculate
+Xaxis=$(xrandr -q | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)
+Yaxis=$(xrandr -q | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)
+
# Dispatch with vertical offset
#ffmpeg -f x11grab -r 25 -s 1366x752 -i :0.0+0,16 -vcodec libx264 -vpre lossless_ultrafast -threads 0 $OUT
# Dispatch
-ffmpeg -f x11grab -r 25 -s 1366x752 -i :0.0 -vcodec libx264 -vpre lossless_ultrafast -threads 0 $OUT
+#ffmpeg -f x11grab -r 25 -s 1366x752 -i :0.0 -vcodec libx264 -vpre lossless_ultrafast -threads 0 $OUT
+
+# Run
+ffmpeg -f x11grab -s $(($Xaxis))x$(($Yaxis)) -r 25 -i :0.0 -qscale 0 $OUT
diff --git a/xres b/xres
index 5495b6c..90aff6b 100755
--- a/xres
+++ b/xres
@@ -7,10 +7,11 @@
BASENAME="`basename $0`"
X="$1"
Y="$2"
+INTERFACE="$3"
# Check
if [ -z "$Y" ]; then
- echo "usage: $BASENAME <x-res> <y-res>"
+ echo "usage: $BASENAME <x-res> <y-res> <interface>"
exit 1
elif ! which cvt &> /dev/null; then
echo "please install cvt from xserver-xorg-core"
@@ -22,9 +23,13 @@ fi
# Get modeline and interface
MODELINE="`cvt $X $Y | grep -v '^#' | sed -e 's/^Modeline //'`"
-INTERFACE="`xrandr | grep " connected" | cut -d ' ' -f 1 | head`"
NAME="`echo $MODELINE | cut -d ' ' -f 1 | sed -e 's/"//g'`"
+# Fallback to the first connected interface found
+if [ -z "$INTERFACE" ]; then
+ INTERFACE="`xrandr | grep " connected" | cut -d ' ' -f 1 | head -1`"
+fi
+
# Apply
xrandr --newmode $MODELINE &> /dev/null
xrandr --addmode $INTERFACE $NAME