我们有一个启用了 webrtc 的服务,它有 2 个不同的端点;一个网络应用程序和一个原生安卓应用程序。安卓应用程序安装在带有 USB 摄像头的安卓设备上。
使用 chrome/firefox 上的 web 应用程序,pc2pc 的音频质量几乎是完美的。但我们想提高 pc2android 和 android2android 的音频质量。
Chrome 将声学回声消除(AEC - 会议)用于高端设备。但对于 Android,它强制使用 AECM——一种用于手机的轻量级 AEC。我们对 AECM 的表现不满意。对于我们的原生应用程序,我们修改 webrc 源代码以使用 AEC。但结果更糟。就像回声消除完全被禁用一样,我们最终得到了如此多的回声和反馈!
根据这个问题,AEC 应该只适用于 8k 和 16k 采样率,并且只能在高端设备中使用。那应该没问题。我们正在使用具有 8k 采样率的 PCMU 编解码器,我认为我们的 Android 设备足够强大,可以克服 AEC 的额外计算复杂性:
- 四核 ARM CPU @ 2Ghz
- 8 核 Mali-450MP GPU @ 600Mhz
- DDR3 1GB 内存
- 安卓奇巧
如果需要,我很乐意分享我们的回声消除性能图。
手机不能使用 AEC 还是我们遗漏了什么?