mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[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:
@@ -65,9 +65,9 @@ SEncParamExt OpenH264Encoder::CreateEncoderParams() const {
|
|||||||
SEncParamExt encoder_params;
|
SEncParamExt encoder_params;
|
||||||
openh264_encoder_->GetDefaultParams(&encoder_params);
|
openh264_encoder_->GetDefaultParams(&encoder_params);
|
||||||
// if (codec_.mode == VideoCodecMode::kRealtimeVideo) { //
|
// 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) {
|
// } 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_;
|
encoder_params.iPicWidth = frame_width_;
|
||||||
@@ -75,7 +75,7 @@ SEncParamExt OpenH264Encoder::CreateEncoderParams() const {
|
|||||||
encoder_params.iTargetBitrate = target_bitrate_;
|
encoder_params.iTargetBitrate = target_bitrate_;
|
||||||
encoder_params.iMaxBitrate = max_bitrate_;
|
encoder_params.iMaxBitrate = max_bitrate_;
|
||||||
encoder_params.iRCMode = RC_BITRATE_MODE;
|
encoder_params.iRCMode = RC_BITRATE_MODE;
|
||||||
encoder_params.fMaxFrameRate = 0.000030;
|
encoder_params.fMaxFrameRate = 60;
|
||||||
encoder_params.bEnableFrameSkip = false;
|
encoder_params.bEnableFrameSkip = false;
|
||||||
encoder_params.uiIntraPeriod = key_frame_interval_;
|
encoder_params.uiIntraPeriod = key_frame_interval_;
|
||||||
encoder_params.uiMaxNalSize = 0;
|
encoder_params.uiMaxNalSize = 0;
|
||||||
|
|||||||
@@ -288,10 +288,11 @@ bool RtpVideoReceiver::Process() {
|
|||||||
compelete_video_frame_queue_.pop(video_frame);
|
compelete_video_frame_queue_.pop(video_frame);
|
||||||
if (on_receive_complete_frame_) {
|
if (on_receive_complete_frame_) {
|
||||||
// auto now_complete_frame_ts =
|
// auto now_complete_frame_ts =
|
||||||
// std::chrono::system_clock::now().time_since_epoch().count()
|
// std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||||
// / 1000000;
|
// std::chrono::system_clock::now().time_since_epoch())
|
||||||
|
// .count();
|
||||||
// uint32_t duration = now_complete_frame_ts - last_complete_frame_ts_;
|
// 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;
|
// last_complete_frame_ts_ = now_complete_frame_ts;
|
||||||
|
|
||||||
on_receive_complete_frame_(video_frame);
|
on_receive_complete_frame_(video_frame);
|
||||||
|
|||||||
Reference in New Issue
Block a user