[fix] use 'CAMERA_VIDEO_REAL_TIME' instead of 'SCREEN_CONTENT_REAL_TIME' for openh264 encoder because the latter will cause slow encoding

This commit is contained in:
dijunkun
2024-08-20 16:11:22 +08:00
parent e9be021c0f
commit 5536311920
2 changed files with 7 additions and 6 deletions

View File

@@ -65,9 +65,9 @@ SEncParamExt OpenH264Encoder::CreateEncoderParams() const {
SEncParamExt encoder_params;
openh264_encoder_->GetDefaultParams(&encoder_params);
// if (codec_.mode == VideoCodecMode::kRealtimeVideo) { //
// encoder_params.iUsageType = CAMERA_VIDEO_REAL_TIME;
encoder_params.iUsageType = CAMERA_VIDEO_REAL_TIME;
// } else if (codec_.mode == VideoCodecMode::kScreensharing) {
encoder_params.iUsageType = SCREEN_CONTENT_REAL_TIME;
// encoder_params.iUsageType = SCREEN_CONTENT_REAL_TIME;
// }
encoder_params.iPicWidth = frame_width_;
@@ -75,7 +75,7 @@ SEncParamExt OpenH264Encoder::CreateEncoderParams() const {
encoder_params.iTargetBitrate = target_bitrate_;
encoder_params.iMaxBitrate = max_bitrate_;
encoder_params.iRCMode = RC_BITRATE_MODE;
encoder_params.fMaxFrameRate = 0.000030;
encoder_params.fMaxFrameRate = 60;
encoder_params.bEnableFrameSkip = false;
encoder_params.uiIntraPeriod = key_frame_interval_;
encoder_params.uiMaxNalSize = 0;

View File

@@ -288,10 +288,11 @@ bool RtpVideoReceiver::Process() {
compelete_video_frame_queue_.pop(video_frame);
if (on_receive_complete_frame_) {
// auto now_complete_frame_ts =
// std::chrono::system_clock::now().time_since_epoch().count()
// / 1000000;
// std::chrono::duration_cast<std::chrono::milliseconds>(
// std::chrono::system_clock::now().time_since_epoch())
// .count();
// uint32_t duration = now_complete_frame_ts - last_complete_frame_ts_;
// LOG_ERROR("Duration {}", 1000 / duration);
// LOG_ERROR("Duration {}", duration);
// last_complete_frame_ts_ = now_complete_frame_ts;
on_receive_complete_frame_(video_frame);