diff --git a/services/capture/src/capture-manager.js b/services/capture/src/capture-manager.js index 8d331d9..141d829 100644 --- a/services/capture/src/capture-manager.js +++ b/services/capture/src/capture-manager.js @@ -360,8 +360,11 @@ const CONTAINER_EXT = { // keeps a short GOP. Muxed to a raw `mpeg2video` elementary stream (no // container) so raw2bmx ingests it via --mpeg2lg_*. const GROWING_VIDEO_ELEMENTARY_ARGS = [ - '-c:v', 'mpeg2video', '-pix_fmt', 'yuv422p', - '-dc', '10', '-g', '15', '-bf', '2', + '-c:v', 'h264_nvenc', '-profile:v', 'high422', + '-preset', 'p1', '-tune', 'll', + '-rc', 'constqp', '-qp', '21', + '-pix_fmt', 'yuv422p', + '-g', '1', ]; const GROWING_DEFAULT_BITRATE = '25M'; const GROWING_EXT = 'mxf'; @@ -434,9 +437,9 @@ function deriveGrowingRaster(resolution, framerate, scanHint = null) { let rawFlag; 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) { - 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'; } } else { rawFlag = '--mpeg2lg_422p_ml_576i'; // SD 576i (PAL); 25 fps @@ -859,7 +862,7 @@ class CaptureManager { ...GROWING_VIDEO_ELEMENTARY_ARGS, '-b:v', vb, '-minrate', vb, '-maxrate', vb, '-bufsize', vb, '-r', ffRate, - '-f', 'mpeg2video', '@VF@', + '-f', 'h264', '@VF@', // (b) PCM s16le audio → "$AF" '-map', audioMap, '-c:a', 'pcm_s16le', '-ar', '48000', '-ac', String(ach),