all repos — dotfiles @ 852c222278be3d4f074713027b78b66de35604bd

my *nix dotfiles

nix/bin/record.nix (view raw)

 1{ pkgs, ... }:
 2
 3let
 4  name = "record";
 5  slop = "${pkgs.slop}/bin/slop";
 6  ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
 7in
 8pkgs.writeScriptBin name
 9  ''
10    echo starting recording ...
11    coords=$(${slop} -f "%x %y %w %h %g %i") || exit 1
12    read -r X Y W H G ID < <(echo $coords)
13    ${ffmpeg} \
14      -f x11grab \
15      -s "$W"x"$H" \
16      -i :0.0+$X,$Y  \
17      -f alsa \
18      -thread_queue_size 512 \
19      -ac 2 \
20      -ar 48000 \
21      -i hw:0 \
22      -framerate 60 \
23      -vcodec libx264 \
24      -threads 4 \
25      -y \
26      /home/np/tmp/x.mkv
27
28    ${ffmpeg} \
29      -i /home/np/tmp/x.mkv \
30      -pix_fmt yuv420p \
31      -vf scale=-2:1080 \
32      "/home/np/vids/rec/$1"
33  ''