diff --git a/sunshine/video.cpp b/sunshine/video.cpp index 84038a6f..1a3d51e9 100644 --- a/sunshine/video.cpp +++ b/sunshine/video.cpp @@ -930,9 +930,9 @@ std::optional make_session(const encoder_t &encoder, const config_t & } if(video_format[encoder_t::CBR]) { - auto bitrate = config.bitrate * 1000; + auto bitrate = config.bitrate * (hardware ? 1000 : 800); // software bitrate overshoots by ~20% ctx->rc_max_rate = bitrate; - ctx->rc_buffer_size = bitrate / config.framerate; + ctx->rc_buffer_size = bitrate / 10; ctx->bit_rate = bitrate; ctx->rc_min_rate = bitrate; }