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
相关推荐
hans汉斯几秒前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
AI服务老曹3 小时前
AI视频分析API常见问题和排查清单
人工智能·音视频
程序员老陆4 小时前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
怪奇云呼军5 小时前
从声音特征到 CRM 回流:闪电智能 Voice Agent 沟通策略自适应系统 v1 实战
android·人工智能·python·音视频·语音识别
红尘散仙7 小时前
浏览器不能监听端口、没有文件系统,凭什么能点对点传文件?
rust·webrtc·webassembly
程序员老陆9 小时前
如何使用FFmpeg6的API进行HLS开发呢?
ffmpeg·音视频·hls
The moon forgets9 小时前
Qwen团队提出Ego2Robot, 第一人称视频助力具身VLA训练新数据
人工智能·机器学习·音视频
AI服务老曹11 小时前
AI视频分析API完整流程:设备、算法与告警接口接入指南
人工智能·算法·音视频
AImoon11.111 小时前
MiniMax H3开源引发视频赛道变局,客易云关注AI模型从生成工具迈向生产力工具
人工智能·音视频
乐橙开放平台11 小时前
一周上线校园透明化:listDeviceDetailsByPage 台账 + getKitToken + ImouPlayer 多路墙
后端·物联网·安全·音视频·智能家居