From efca325c2c839292a734df4e08373ee7c01b74bb Mon Sep 17 00:00:00 2001 From: Richard Stanway Date: Sat, 8 Apr 2023 18:42:24 +0200 Subject: [PATCH] frontend, plugins: Set default bitrate to 6000 kbps The default of 2500 kbps was chosen 10 years ago and times have changed. Logs and forums posts show that many users of OBS for recording don't change their bitrate and end up with a 2.5 mbps recording which looks terrible. Now that service bitrate enforcement exists, this will be automatically capped to the maximum bitrate for streaming services, so the only time this should result in a problem is if the user's upload speed is the limiting factor, hopefully rarer these days with increasing internet speeds. --- frontend/widgets/OBSBasic.cpp | 4 ++-- plugins/obs-ffmpeg/obs-ffmpeg-av1.c | 2 +- plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c | 4 ++-- plugins/obs-ffmpeg/texture-amf.cpp | 4 ++-- plugins/obs-qsv11/obs-qsv11.c | 4 ++-- plugins/obs-x264/obs-x264.c | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/widgets/OBSBasic.cpp b/frontend/widgets/OBSBasic.cpp index eba12d7e2..b0698b29b 100644 --- a/frontend/widgets/OBSBasic.cpp +++ b/frontend/widgets/OBSBasic.cpp @@ -719,7 +719,7 @@ bool OBSBasic::InitBasicConfigDefaults() config_set_default_string(activeConfiguration, "SimpleOutput", "FilePath", GetDefaultVideoSavePath().c_str()); config_set_default_string(activeConfiguration, "SimpleOutput", "RecFormat2", DEFAULT_CONTAINER); - config_set_default_uint(activeConfiguration, "SimpleOutput", "VBitrate", 2500); + config_set_default_uint(activeConfiguration, "SimpleOutput", "VBitrate", 6000); config_set_default_uint(activeConfiguration, "SimpleOutput", "ABitrate", 160); config_set_default_bool(activeConfiguration, "SimpleOutput", "UseAdvanced", false); config_set_default_string(activeConfiguration, "SimpleOutput", "Preset", "veryfast"); @@ -751,7 +751,7 @@ bool OBSBasic::InitBasicConfigDefaults() config_set_default_bool(activeConfiguration, "AdvOut", "FFOutputToFile", true); config_set_default_string(activeConfiguration, "AdvOut", "FFFilePath", GetDefaultVideoSavePath().c_str()); config_set_default_string(activeConfiguration, "AdvOut", "FFExtension", "mp4"); - config_set_default_uint(activeConfiguration, "AdvOut", "FFVBitrate", 2500); + config_set_default_uint(activeConfiguration, "AdvOut", "FFVBitrate", 6000); config_set_default_uint(activeConfiguration, "AdvOut", "FFVGOPSize", 250); config_set_default_bool(activeConfiguration, "AdvOut", "FFUseRescale", false); config_set_default_bool(activeConfiguration, "AdvOut", "FFIgnoreCompat", false); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-av1.c b/plugins/obs-ffmpeg/obs-ffmpeg-av1.c index 6ca582ea8..51e7578fc 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-av1.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-av1.c @@ -229,7 +229,7 @@ static bool av1_encode(void *data, struct encoder_frame *frame, struct encoder_p void av1_defaults(obs_data_t *settings) { - obs_data_set_default_int(settings, "bitrate", 2500); + obs_data_set_default_int(settings, "bitrate", 6000); obs_data_set_default_int(settings, "keyint_sec", 0); obs_data_set_default_int(settings, "cqp", 50); obs_data_set_default_string(settings, "rate_control", "CBR"); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c index 573d048cc..256513980 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c @@ -409,8 +409,8 @@ enum codec_type { static void nvenc_defaults_base(enum codec_type codec, obs_data_t *settings) { - obs_data_set_default_int(settings, "bitrate", 2500); - obs_data_set_default_int(settings, "max_bitrate", 5000); + obs_data_set_default_int(settings, "bitrate", 5000); + obs_data_set_default_int(settings, "max_bitrate", 6000); obs_data_set_default_int(settings, "keyint_sec", 0); obs_data_set_default_int(settings, "cqp", 20); obs_data_set_default_string(settings, "rate_control", "CBR"); diff --git a/plugins/obs-ffmpeg/texture-amf.cpp b/plugins/obs-ffmpeg/texture-amf.cpp index 49e67c08e..7013df62d 100644 --- a/plugins/obs-ffmpeg/texture-amf.cpp +++ b/plugins/obs-ffmpeg/texture-amf.cpp @@ -1163,7 +1163,7 @@ static void check_texture_encode_capability(obs_encoder_t *encoder, amf_codec_ty static void amf_avc_defaults(obs_data_t *settings) { obs_data_set_default_string(settings, "rate_control", "CBR"); - obs_data_set_default_int(settings, "bitrate", 2500); + obs_data_set_default_int(settings, "bitrate", 6000); obs_data_set_default_int(settings, "cqp", 20); obs_data_set_default_string(settings, "preset", "quality"); obs_data_set_default_string(settings, "profile", "high"); @@ -2492,7 +2492,7 @@ try { * frame rate. */ static void amf_av1_defaults(obs_data_t *settings) { - obs_data_set_default_int(settings, "bitrate", 2500); + obs_data_set_default_int(settings, "bitrate", 6000); obs_data_set_default_int(settings, "cqp", 20); obs_data_set_default_string(settings, "rate_control", "CBR"); obs_data_set_default_string(settings, "preset", "highQuality"); diff --git a/plugins/obs-qsv11/obs-qsv11.c b/plugins/obs-qsv11/obs-qsv11.c index 7b9a5f8b6..bafb136f7 100644 --- a/plugins/obs-qsv11/obs-qsv11.c +++ b/plugins/obs-qsv11/obs-qsv11.c @@ -163,8 +163,8 @@ static void obs_qsv_destroy(void *data) static void obs_qsv_defaults(obs_data_t *settings, int ver, enum qsv_codec codec) { obs_data_set_default_string(settings, "target_usage", "TU4"); - obs_data_set_default_int(settings, "bitrate", 2500); - obs_data_set_default_int(settings, "max_bitrate", 3000); + obs_data_set_default_int(settings, "bitrate", 5000); + obs_data_set_default_int(settings, "max_bitrate", 6000); obs_data_set_default_string(settings, "profile", codec == QSV_CODEC_AVC ? "high" : "main"); obs_data_set_default_string(settings, "rate_control", "CBR"); diff --git a/plugins/obs-x264/obs-x264.c b/plugins/obs-x264/obs-x264.c index a6e972c76..3bd44c21f 100644 --- a/plugins/obs-x264/obs-x264.c +++ b/plugins/obs-x264/obs-x264.c @@ -99,9 +99,9 @@ static void obs_x264_destroy(void *data) static void obs_x264_defaults(obs_data_t *settings) { - obs_data_set_default_int(settings, "bitrate", 2500); + obs_data_set_default_int(settings, "bitrate", 6000); obs_data_set_default_bool(settings, "use_bufsize", false); - obs_data_set_default_int(settings, "buffer_size", 2500); + obs_data_set_default_int(settings, "buffer_size", 6000); obs_data_set_default_int(settings, "keyint_sec", 0); obs_data_set_default_int(settings, "crf", 23); #ifdef ENABLE_VFR