From a5ab0db5b9be612d802a237e5cab20b96f1851e4 Mon Sep 17 00:00:00 2001 From: csf Date: Thu, 30 Jun 2022 18:24:36 +0800 Subject: [PATCH] switch enable abr --- libs/scrap/src/common/codec.rs | 1 + src/server/video_service.rs | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libs/scrap/src/common/codec.rs b/libs/scrap/src/common/codec.rs index bfcae031e..1dc39090e 100644 --- a/libs/scrap/src/common/codec.rs +++ b/libs/scrap/src/common/codec.rs @@ -343,6 +343,7 @@ impl Decoder { } } +#[cfg(feature = "hwcodec")] fn check_hwcodec_config() -> bool { if let Some(v) = Config2::get().options.get("enable-hwcodec") { return v != "N"; diff --git a/src/server/video_service.rs b/src/server/video_service.rs index 9a42c6c31..cca8b4c83 100644 --- a/src/server/video_service.rs +++ b/src/server/video_service.rs @@ -243,6 +243,15 @@ impl VideoQoS { *self = Default::default(); } + fn check_abr_config(&mut self) -> bool { + self.enable_abr = if let Some(v) = Config2::get().options.get("enable-abr") { + v != "N" + } else { + true // default is true + }; + self.enable_abr + } + pub fn convert_quality(q: i32) -> i32 { if q == ImageQuality::Balanced.value() { 100 * 2 / 3 @@ -548,8 +557,9 @@ fn run(sp: GenericService) -> ResultType<()> { video_qos.set_size(width as _, height as _); let mut spf = video_qos.spf(); let bitrate = video_qos.generate_bitrate()?; + let abr = video_qos.check_abr_config(); - log::info!("init bitrate={}", bitrate); + log::info!("init bitrate={}, abr enabled:{}", bitrate, abr); let encoder_cfg = match Encoder::current_hw_encoder_name() { Some(codec_name) => EncoderCfg::HW(HwEncoderConfig {