From 96f0f58e68593b618ce4cce51c9997c6b7e9a4a8 Mon Sep 17 00:00:00 2001 From: Zac Gaetano Date: Fri, 22 May 2026 00:14:02 +0000 Subject: [PATCH] capture: yadif deint=1 so progressive SDI passes through unchanged Bug: yadif=mode=1 unconditionally doubled output framerate for SDI input. On 1080p29.97 progressive sources the encoder produced zero frames (time advanced, size stayed at 1KiB MOV header). Fix: deint=1 makes yadif only process frames flagged as interlaced; progressive frames pass through at the source rate. --- services/capture/src/capture-manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/capture/src/capture-manager.js b/services/capture/src/capture-manager.js index 44b975f..c874447 100644 --- a/services/capture/src/capture-manager.js +++ b/services/capture/src/capture-manager.js @@ -213,7 +213,7 @@ class CaptureManager { console.log('[capture] hires ffmpeg args:', hiresCodecArgs.join(' ')); - const sdiFilterArgs = (sourceType === 'sdi') ? ['-vf', 'yadif=mode=1'] : []; + const sdiFilterArgs = (sourceType === 'sdi') ? ['-vf', 'yadif=mode=1:deint=1'] : []; const hiresProcess = spawn('ffmpeg', [ ...inputArgs,