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.
This commit is contained in:
Zac Gaetano 2026-05-22 00:14:02 +00:00
parent a8656fc1a8
commit 96f0f58e68

View file

@ -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,