diff --git a/plugins/homekit/src/types/camera/camera-recording.ts b/plugins/homekit/src/types/camera/camera-recording.ts index 3b9f8f754..daf455b9d 100644 --- a/plugins/homekit/src/types/camera/camera-recording.ts +++ b/plugins/homekit/src/types/camera/camera-recording.ts @@ -176,6 +176,10 @@ export async function* handleFragmentsRequests(streamId: number, device: Scrypte } } + // ffmpeg's native opus decoder mis-parses SILK in-band FEC (LBRR) frames, + // which Ring cameras send, and outputs loud bursts of noise. libopus decodes them correctly. + if (audioCodec?.toLowerCase() === 'opus') + inputArguments.push('-c:a', 'libopus'); inputArguments.push(...ffmpegInput.inputArguments); if (noAudio) {