Screenrec: Use h264 for partial rec and av1 for fullscreen.
This commit is contained in:
parent
f98d53834d
commit
968899c410
|
@ -24,6 +24,7 @@ let
|
||||||
container = "mp4";
|
container = "mp4";
|
||||||
format = "%Y-%m-%d_%H-%M-%S";
|
format = "%Y-%m-%d_%H-%M-%S";
|
||||||
framerate = 30;
|
framerate = 30;
|
||||||
|
keyint = framerate * 5;
|
||||||
opacity = "26";
|
opacity = "26";
|
||||||
pixfmt = "yuv420p10le";
|
pixfmt = "yuv420p10le";
|
||||||
selection = "slurp -d -b ${color.bg.light}${opacity} -c ${color.fg.light} -w 0 -s 00000000";
|
selection = "slurp -d -b ${color.bg.light}${opacity} -c ${color.fg.light} -w 0 -s 00000000";
|
||||||
|
@ -80,13 +81,35 @@ let
|
||||||
[[ "''${scrTransform}" = "normal" ]] && scrTransform=""
|
[[ "''${scrTransform}" = "normal" ]] && scrTransform=""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vidStart = ''
|
vidStart = extra: ''
|
||||||
wf-recorder \
|
wf-recorder \
|
||||||
|
--codec h264_vaapi \
|
||||||
|
--device /dev/dri/renderD128 \
|
||||||
--no-damage \
|
--no-damage \
|
||||||
--codec ${codec} \
|
|
||||||
--file "''${scrFile}" \
|
|
||||||
--framerate ${toString framerate} \
|
--framerate ${toString framerate} \
|
||||||
--pixel-format ${pixfmt} \
|
--file "''${scrFile}" \
|
||||||
|
${extra} ||
|
||||||
|
wf-recorder \
|
||||||
|
--codec libx264 \
|
||||||
|
--no-damage \
|
||||||
|
--framerate ${toString framerate} \
|
||||||
|
--file "''${scrFile}" \
|
||||||
|
${extra}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# NOTE: Only fullscreen rec is re-encoded.
|
||||||
|
vidEncode = ''
|
||||||
|
ffmpeg \
|
||||||
|
-i "''${scrFile}" \
|
||||||
|
-c:v ${codec} \
|
||||||
|
-svtav1-params "tune=0" \
|
||||||
|
-pix_fmt ${pixfmt} \
|
||||||
|
-g ${toString keyint} \
|
||||||
|
-f ${container} \
|
||||||
|
-vf "fps=${toString framerate}" \
|
||||||
|
"''${scrFile}_" \
|
||||||
|
&& mv "''${scrFile}_" "''${scrFile}" \
|
||||||
|
|| rm "''${scrFile}_"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vidMuxAudio = ''
|
vidMuxAudio = ''
|
||||||
|
@ -123,7 +146,7 @@ let
|
||||||
${vidPrepFile}
|
${vidPrepFile}
|
||||||
${notifyStart}
|
${notifyStart}
|
||||||
${updateWaybar}
|
${updateWaybar}
|
||||||
${vidStart} ${vidSelected}
|
${vidStart vidSelected}
|
||||||
${notifyEnd}
|
${notifyEnd}
|
||||||
${updateWaybar}
|
${updateWaybar}
|
||||||
${vidMuxAudio}
|
${vidMuxAudio}
|
||||||
|
@ -138,9 +161,10 @@ let
|
||||||
${vidPrepFile}
|
${vidPrepFile}
|
||||||
${notifyStart}
|
${notifyStart}
|
||||||
${updateWaybar}
|
${updateWaybar}
|
||||||
${vidStart} ${vidFull}
|
${vidStart vidFull}
|
||||||
${notifyEnd}
|
${notifyEnd}
|
||||||
${updateWaybar}
|
${updateWaybar}
|
||||||
|
${vidEncode}
|
||||||
${vidMuxAudio}
|
${vidMuxAudio}
|
||||||
${vidTransform}
|
${vidTransform}
|
||||||
${vidRefLatestFile}
|
${vidRefLatestFile}
|
||||||
|
|
Loading…
Reference in a new issue