From 3fcb93712d2adb161efed5d76ea95d2fd2133dee Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 8 Jul 2026 16:50:58 +0200 Subject: [PATCH] @mediabunny/server: Properly force IDR frames when encoding AVC/HEVC on NVENC --- packages/server/src/video-encoder.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/server/src/video-encoder.ts b/packages/server/src/video-encoder.ts index ed08d33..a37b4ff 100644 --- a/packages/server/src/video-encoder.ts +++ b/packages/server/src/video-encoder.ts @@ -203,6 +203,11 @@ export class NodeAvVideoEncoder extends CustomVideoEncoder { if (isRealtime) { codecContext.setOption('preset', '12'); } + } else if (this.avCodec.name === 'h264_nvenc') { + // When we force a key frame, we want a true IDR frame, not just an I frame + codecContext.setOption('forced-idr', '1'); + } else if (this.avCodec.name === 'hevc_nvenc') { + codecContext.setOption('forced-idr', '1'); } if (this.codec === 'prores') {