created by snowlyg
开源的 webrtc 项目本身内置了对音频信号的3A算法,包括回声消除(AEC)、噪声抑制(ANS)、自动增益控制(AGC), 这个三个算法配合在发声端对音频数据进程处理,可以提高音频质量和通话效果。
但是 webrtc 毕竟是国外的开源项目,国内的小厂商的硬件大部分都无法很好适配,而且一些低端产品的麦克风和扬声器质量不太行,导致实际的通话效果并不理想。
小厂商的产品线又不稳定。可能过几个月,之前的产品就淘汰了。所以修改 webrtc 项目去做适配不仅费时费力,而且很可能最终成为无用功。
在服务端中间层对音频处理之后再发送到远端设备,是另一种可行的解决方案。
需求依赖
项目样例采用开源项目 https://github.com/pion/webrtc/tree/master/examples/save-to-disk 。
git clone <https://github.com/pion/webrtc> --depth=1
cd webrtc/[examples/save-to-disk](<https://github.com/pion/webrtc/tree/master/examples/save-to-disk>)
go build
Copy browser SDP to clipboard 按钮,复制浏览器 SDP 信息。
Start Session 按钮。