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
相关推荐
hz567892 小时前
公安局远程办案用什么音视频系统?安全取证与多方协同方案
安全·架构·云计算·音视频·实时音视频·信息与通信
Championship.23.242 小时前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa
VOOHU-沃虎3 小时前
PoE+音频一体化接口设计:从电源变压器到XLR卡侬座的完整链路
音视频
“码”力全开4 小时前
解密企业级智能视频中台:基于 Docker 与边缘计算的 GB28181/RTSP 异构架构设计(支持源码交付)
docker·音视频·边缘计算
潜创微科技5 小时前
QCW5007+QCW5004 | HDMI 1.3 无线投屏芯片方案空旷 150 米支持穿墙传输
音视频
MemoriKu5 小时前
Flutter 相册 APP 视频模态稳定化实战:从视频抽帧、Embedding 元数据到 Android 真机启动修复
android·开发语言·前端·flutter·架构·音视频·embedding
EasyDSS5 小时前
视频直播点播/高清点播/音视频点播/云点播/云直播EasyDSS一站式音视频平台助力智慧校园智能化建设
音视频
johnny2336 小时前
视频创作工具:OpenCut、HyperFrames、social-auto-upload、OpenStoryline、ArcReel
音视频
换个昵称都难6 小时前
webrtc RTP config
webrtc
换个昵称都难6 小时前
WebRTC 视频RTP 优化模块
音视频·webrtc