From 58347fdfe21315ad3ccc0bd7c4703a8ec7aae797 Mon Sep 17 00:00:00 2001 From: tdback Date: Wed, 4 Dec 2024 18:50:37 -0500 Subject: initial commit to new repo --- record | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 record (limited to 'record') diff --git a/record b/record new file mode 100755 index 0000000..051765d --- /dev/null +++ b/record @@ -0,0 +1,23 @@ +#!/bin/sh + +# record: Record an mp4 video using ffmpeg. By default it will output the +# video to './out.mp4'. Requires ffmpeg to be built with Xcb support on NixOS. +# Screen resolution can be specified, but defaults to 1080p. + +die() { echo "$0: $*" >&2; exit 1; } +try() { "$@" || die "cannot $*"; } + +while getopts ":r:h" args; do + case "$args" in + r) RESOLUTION="$OPTARG" ;; + h) die "record [-r RESOLUTION] FILE" ;; + *) die "-$OPTARG is not an option." ;; + esac +done +shift $((OPTIND - 1)) + +FILE="${1:-out}" +: "${RESOLUTION:=1920x1080}" + +try ffmpeg -y -f x11grab -s "$RESOLUTION" -framerate 60 -i :0.0 -f alsa \ + -i default -nostats -hide_banner -loglevel quiet "${FILE}.mp4" -- cgit v1.2.3