目录
一、降噪模块分析
降噪模块被封装为obs的一个filer,代码目录为:plugins-->obs-filters--->noise-suppress-filter.c 。
obs利用第三方开源库speex进行降噪处理,speex的下载地址为:http://speex.org/downloads/ ,业界经常拿speex和webrtc的降噪模块对比,大多认为webrtc效果更好。但是,通过obs直播效果来看,speex完全可以。
用到的函数:
设置帧大小,采样率
speex_preprocess_state_init(int frame_size, int sampling_rate);
初始化降噪参数
request 参数为 SPEEX_PREPROCESS_SET_NOISE_SUPPRESS 表明是降噪处理
ptr参数:设置降噪分贝db值
int speex_preprocess_ctl(SpeexPreprocessState *st
本文分析了obs-studio中噪声抑制模块的实现,该模块基于speex开源库。虽然 speex 通常被认为不如 webrtc 的降噪效果好,但在 obs 直播场景下,它的表现足够出色。降噪处理在音频捕获线程中完成,通过一个循环缓冲区每10ms处理音频片段,待处理完毕后传递给后续过滤器或直接发送。
订阅专栏 解锁全文
627

被折叠的 条评论
为什么被折叠?



