webrtc中音频3A处理开关配置

webrtc中音频3A处理开关配置

1 音频引擎初始化的时对3A处理进行设置

c++ 复制代码
WebRtcVoiceEngine::Init
media/engine/webrtc_voice_engine.h

WebRtcVoiceEngine::ApplyOptions
media/engine/webrtc_voice_engine.h

modules/audio_processing/audio_processing_impl.h
AudioProcessingImpl::ApplyConfig

2 创建audio source时设置3A参数

c++ 复制代码
cricket::AudioOptions options;
options.highpass_filter = true;
options.echo_cancellation = true;
options.auto_gain_control = true;
options.noise_suppression = true;
options.combined_audio_video_bwe = true;
options.residual_echo_detector = true;//残余回音消除
rtc::scoped_refptr<webrtc::AudioSourceInterface> source = g_factory->CreateAudioSource(options);
rtc::scoped_refptr<webrtc::AudioTrackInterface> trackPtr = g_factory->CreateAudioTrack(label, source);

PeerConnection::AddTransceiver
pc/peer_connection.h
关键参数:
cricket::MediaType media_type,
rtc::scoped_refptr<MediaStreamTrackInterface> track

PeerConnection::CreateSender
pc/peer_connection.h
关键参数:
rtc::scoped_refptr<MediaStreamTrackInterface> track

RtpSenderBase::SetTrack(MediaStreamTrackInterface* track)
pc/rtp_sender.h

AudioRtpSender::SetSend
pc/rtp_sender.h
备注:
1获取track中source的配置(3A处理相关选项)
2 voice_media_channel()->SetAudioSend(ssrc_, track_enabled, &options,
                                               sink_adapter_.get());
                                               
WebRtcVoiceMediaChannel::SetAudioSend
media/engine/webrtc_voice_engine.h

WebRtcVoiceMediaChannel::SetOptions
media/engine/webrtc_voice_engine.h

WebRtcVoiceEngine::ApplyOptions
media/engine/webrtc_voice_engine.h

modules/audio_processing/audio_processing_impl.h
AudioProcessingImpl::ApplyConfig
相关推荐
原子延迟2 小时前
批量压缩视频会变大?HandBrake等3款(2026)
图像处理·人工智能·计算机视觉·音视频
TST-魚爷4 小时前
腾讯会议双机位同屏:前后两个摄像头画面合并显示方案(易视讯)
电脑·音视频·腾讯会议·zoom会议
闭包不眠6 小时前
批量压缩视频先分组,HandBrake等3种方法(2026)
图像处理·人工智能·计算机视觉·音视频
视频技术分享6 小时前
远程会诊产品设计复盘:音视频架构拆解与四大避坑
架构·音视频
听我哔哔8 小时前
口播视频唇形总对不上,Seedance 2.5在zeekeAI里同步
人工智能·音视频
伯奥克客服9 小时前
2026年视频矩阵厂家技术评估:从EDID到控制协议开放度的六维筛选法
线性代数·矩阵·音视频
指针向南9 小时前
批量压缩视频有文件没变小?HandBrake等3款对比
图像处理·人工智能·计算机视觉·音视频
Android系统攻城狮10 小时前
Linux FFmpeg深度解析之avcodec_parameters_copy调用流程与实战(二十五)
linux·运维·服务器·ffmpeg·音视频·车载音频
听我哔哔11 小时前
口播视频唇形总对不上?Seedance 2.5 在 zeekeAI 里的同步实操
人工智能·音视频
YWamy19 小时前
如何降低RTC SDK在复杂网络环境下的运行成本
网络·音视频·实时音视频