all repos — dotfiles @ 1e364fcfa42dbc4f3d584807ac068c090214a2db

my *nix dotfiles

nix/bin/record.nix (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
{ pkgs, ... }:

let
  name = "record";
  slop = "${pkgs.slop}/bin/slop";
  ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
in
pkgs.writeScriptBin name
  ''
    echo starting recording ...
    coords=$(${slop} -f "%x %y %w %h %g %i") || exit 1
    read -r X Y W H G ID < <(echo $coords)
    ${ffmpeg} \
      -f x11grab \
      -s "$W"x"$H" \
      -i :0.0+$X,$Y  \
      -f alsa \
      -thread_queue_size 512 \
      -ac 2 \
      -ar 48000 \
      -i hw:0 \
      -framerate 60 \
      -vcodec libx264 \
      -threads 4 \
      -y \
      /home/np/tmp/x.mkv

    ${ffmpeg} \
      -i /home/np/tmp/x.mkv \
      -pix_fmt yuv420p \
      -vf scale=-2:1080 \
      "/home/np/vids/rec/$1"
  ''