0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-19 20:32:15 +02:00

UI: Only use preset2 in simple mode for legacy/FFmpeg NVENC

This commit is contained in:
derrod 2024-08-22 11:47:16 +02:00 committed by Rodney
parent 9e547d8479
commit ce3d739f3a
2 changed files with 12 additions and 6 deletions

View File

@ -819,6 +819,7 @@ void SimpleOutput::Update()
"x264Settings");
const char *encoder = config_get_string(main->Config(), "SimpleOutput",
"StreamEncoder");
const char *encoder_id = obs_encoder_get_id(videoStreaming);
const char *presetType;
const char *preset;
@ -855,11 +856,14 @@ void SimpleOutput::Update()
}
preset = config_get_string(main->Config(), "SimpleOutput", presetType);
obs_data_set_string(videoSettings,
(strcmp(presetType, "NVENCPreset2") == 0)
? "preset2"
: "preset",
preset);
/* Only use preset2 for legacy/FFmpeg NVENC Encoder. */
if (strncmp(encoder_id, "ffmpeg_", 7) == 0 &&
strcmp(presetType, "NVENCPreset2") == 0) {
obs_data_set_string(videoSettings, "preset2", preset);
} else {
obs_data_set_string(videoSettings, "preset", preset);
}
obs_data_set_string(videoSettings, "rate_control", "CBR");
obs_data_set_int(videoSettings, "bitrate", videoBitrate);

View File

@ -5484,9 +5484,11 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
const char *name =
get_simple_output_encoder(QT_TO_UTF8(encoder));
const bool isFFmpegEncoder = strncmp(name, "ffmpeg_", 7) == 0;
obs_properties_t *props = obs_get_encoder_properties(name);
obs_property_t *p = obs_properties_get(props, "preset2");
obs_property_t *p = obs_properties_get(
props, isFFmpegEncoder ? "preset2" : "preset");
size_t num = obs_property_list_item_count(p);
for (size_t i = 0; i < num; i++) {
const char *name = obs_property_list_item_name(p, i);