feat(growing): configure AVC-Intra 100 1080p59.94 via NVENC for growing files

This commit is contained in:
Zac Gaetano 2026-06-04 17:49:21 +00:00
parent 1f71de494f
commit f36de429e8

View file

@ -360,8 +360,11 @@ const CONTAINER_EXT = {
// keeps a short GOP. Muxed to a raw `mpeg2video` elementary stream (no // keeps a short GOP. Muxed to a raw `mpeg2video` elementary stream (no
// container) so raw2bmx ingests it via --mpeg2lg_*. // container) so raw2bmx ingests it via --mpeg2lg_*.
const GROWING_VIDEO_ELEMENTARY_ARGS = [ const GROWING_VIDEO_ELEMENTARY_ARGS = [
'-c:v', 'mpeg2video', '-pix_fmt', 'yuv422p', '-c:v', 'h264_nvenc', '-profile:v', 'high422',
'-dc', '10', '-g', '15', '-bf', '2', '-preset', 'p1', '-tune', 'll',
'-rc', 'constqp', '-qp', '21',
'-pix_fmt', 'yuv422p',
'-g', '1',
]; ];
const GROWING_DEFAULT_BITRATE = '25M'; const GROWING_DEFAULT_BITRATE = '25M';
const GROWING_EXT = 'mxf'; const GROWING_EXT = 'mxf';
@ -434,9 +437,9 @@ function deriveGrowingRaster(resolution, framerate, scanHint = null) {
let rawFlag; let rawFlag;
if (height >= 1080) { if (height >= 1080) {
rawFlag = (scan === 'p') ? '--mpeg2lg_422p_hl_1080p' : '--mpeg2lg_422p_hl_1080i'; rawFlag = (scan === 'p') ? '--avci100_1080p' : '--avci100_1080i';
} else if (height >= 720) { } else if (height >= 720) {
rawFlag = '--mpeg2lg_422p_hl_720p'; // 720 is always progressive rawFlag = '--avci100_720p'; // 720 is always progressive
if (fpsNum == null) { r.ff = '60000/1001'; r.raw = '60000/1001'; } if (fpsNum == null) { r.ff = '60000/1001'; r.raw = '60000/1001'; }
} else { } else {
rawFlag = '--mpeg2lg_422p_ml_576i'; // SD 576i (PAL); 25 fps rawFlag = '--mpeg2lg_422p_ml_576i'; // SD 576i (PAL); 25 fps
@ -859,7 +862,7 @@ class CaptureManager {
...GROWING_VIDEO_ELEMENTARY_ARGS, ...GROWING_VIDEO_ELEMENTARY_ARGS,
'-b:v', vb, '-minrate', vb, '-maxrate', vb, '-bufsize', vb, '-b:v', vb, '-minrate', vb, '-maxrate', vb, '-bufsize', vb,
'-r', ffRate, '-r', ffRate,
'-f', 'mpeg2video', '@VF@', '-f', 'h264', '@VF@',
// (b) PCM s16le audio → "$AF" // (b) PCM s16le audio → "$AF"
'-map', audioMap, '-map', audioMap,
'-c:a', 'pcm_s16le', '-ar', '48000', '-ac', String(ach), '-c:a', 'pcm_s16le', '-ar', '48000', '-ac', String(ach),