diff --git a/obs/window-basic-main-outputs.cpp b/obs/window-basic-main-outputs.cpp index 3dfaf4912..6e262ed11 100644 --- a/obs/window-basic-main-outputs.cpp +++ b/obs/window-basic-main-outputs.cpp @@ -154,7 +154,7 @@ struct SimpleOutput : BasicOutputHandler { void UpdateRecordingSettings_x264_crf(int crf); void UpdateRecordingSettings_qsv11(int crf); - void UpdateRecordingSettings_nvenc(int bitrate); + void UpdateRecordingSettings_nvenc(int cqp); void UpdateRecordingSettings(); void UpdateRecordingAudioSettings(); virtual void Update() override; @@ -461,12 +461,13 @@ void SimpleOutput::UpdateRecordingSettings_qsv11(int crf) obs_data_release(settings); } -void SimpleOutput::UpdateRecordingSettings_nvenc(int bitrate) +void SimpleOutput::UpdateRecordingSettings_nvenc(int cqp) { obs_data_t *settings = obs_data_create(); + obs_data_set_string(settings, "rate_control", "CQP"); obs_data_set_string(settings, "profile", "high"); obs_data_set_string(settings, "preset", "hq"); - obs_data_set_int(settings, "bitrate", bitrate); + obs_data_set_int(settings, "cqp", cqp); obs_encoder_update(h264Recording, settings); @@ -485,7 +486,7 @@ void SimpleOutput::UpdateRecordingSettings() UpdateRecordingSettings_qsv11(crf); } else if (videoEncoder == SIMPLE_ENCODER_NVENC) { - UpdateRecordingSettings_nvenc(ultra_hq ? 90000 : 22000); + UpdateRecordingSettings_nvenc(crf); } }