tvl-depot/fun/tvl/default.nix
Vincent Ambo bcfa11599d feat(fun/tvl): Implement hardware-accelerated stream rescaling
By randomly copy & pasting options that are impenetrable to mere
mortals from NVIDIA's developer blog and a bunch of gists scattered
throughout the internet, Andi and I managed to "get this to work".

The idea is that the x11grab stream should be resized into 720p (which
is the maximum supported by Google Meet), but with hardware
acceleration.
2020-04-04 02:36:20 +01:00

18 lines
566 B
Nix

{ depot, ... }:
depot.third_party.writeShellScriptBin "start-tvl-stream" ''
env LD_LIBRARY_PATH=/run/opengl-driver/lib/ ${depot.third_party.ffmpeg}/bin/ffmpeg \
-vsync 0 \
-hwaccel cuvid \
-init_hw_device cuda=0 -filter_hw_device 0 \
-f x11grab \
-video_size 1920x1080 \
-framerate 30 \
-i :0.0+0,0 \
-filter:v "format=nv12,hwupload,scale_npp=w=1280:h=720:interp_algo=lanczos" \
-c:v h264_nvenc \
-preset:v llhq \
-rc:v cbr_ld_hq \
-an \
-f flv rtmp://tazj.in:1935/tvl
''