diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index 67496c3dc..a0423ce64 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -949,6 +949,7 @@ Basic.Settings.Output.ReplayBuffer.EstimateTooLarge="Warning: Estimated memory u
Basic.Settings.Output.ReplayBuffer.EstimateUnknown="Cannot estimate memory usage. Please set maximum memory limit."
Basic.Settings.Output.ReplayBuffer.Prefix="Replay Buffer Filename Prefix"
Basic.Settings.Output.ReplayBuffer.Suffix="Suffix"
+Basic.Settings.Output.ReplayBuffer.UnavailableCustomFFmpeg="Replay Buffer cannot be used when recording type is set to Custom Output (FFmpeg)."
Basic.Settings.Output.Simple.SavePath="Recording Path"
Basic.Settings.Output.Simple.RecordingQuality="Recording Quality"
Basic.Settings.Output.Simple.RecordingQuality.Stream="Same as stream"
diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui
index c20e7d3d1..83d2076de 100644
--- a/UI/forms/OBSBasicSettings.ui
+++ b/UI/forms/OBSBasicSettings.ui
@@ -4593,6 +4593,16 @@
9
+ -
+
+
+ Basic.Settings.Output.ReplayBuffer.UnavailableCustomFFmpeg
+
+
+ warning
+
+
+
-
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index 97c5630ed..6ada5f496 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -5083,8 +5083,10 @@ void OBSBasicSettings::UpdateAutomaticReplayBufferCheckboxes()
break;
case 1:
state = ui->advReplayBuf->isChecked();
+ bool customFFmpeg = ui->advOutRecType->currentIndex() == 1;
ui->advReplayBuf->setEnabled(
- !obs_frontend_replay_buffer_active());
+ !obs_frontend_replay_buffer_active() && !customFFmpeg);
+ ui->advReplayBufCustomFFmpeg->setVisible(customFFmpeg);
break;
}
ui->replayWhileStreaming->setEnabled(state);