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