简体   繁体   English

WebRTC AEC无法在带有USB摄像头的Android上运行

[英]WebRTC AEC not working on Android with USB Camera

We have a webrtc enabled service with 2 different endpoints; 我们有一个启用了Webrtc的服务,其中包含2个不同的端点; a web app and a native android app. 网络应用程序和本机android应用程序。 The android app is installed on a android device with a USB Camera. 安卓应用程序通过USB摄像头安装在安卓设备上。

Using the web app on chrome/firefox, pc2pc audio quality is almost perfect. 在chrome / firefox上使用网络应用程序,pc2pc的音频质量几乎是完美的。 But we want to improve pc2android and android2android audio quality. 但是我们要提高pc2android和android2android的音频质量。

Chrome uses acoustic echo cancellation (AEC - conference) for high-end devices. Chrome对高端设备使用回音消除(AEC-会议)。 But for Android it forces AECM -- a light-weight AEC for mobiles. 但是对于Android来说,它强制使用AECM-轻巧的手机AEC。 We are not happy with the AECM performance. 我们对AECM的性能不满意。 For our native app, we modify webrc source-code to use AEC instead. 对于我们的本机应用程序,我们修改了webrc源代码以改为使用AEC。 But the result is even worse. 但是结果更糟。 It acts like echo cancellation is totally disabled and we end up having so much echo and feedback! 它的行为就像完全禁用了回声消除功能,而我们最终得到了如此多的回声和反馈!

According to this issue , AEC should only work with 8k and 16k sample rates and only in high-end devices. 根据此问题 ,AEC仅应在8k和16k采样率下并且仅在高端设备中工作。 That should be OK. 那应该没关系。 We are using PCMU codec having 8k sample rate and I think our Android device is powerful enough to overcome the additional computational complexity of AEC: 我们正在使用具有8k采样率的PCMU编解码器,我认为我们的Android设备功能强大,足以克服AEC的额外计算复杂性:

  • Quad core ARM CPU @ 2Ghz 四核ARM CPU @ 2Ghz
  • 8 core Mali-450MP GPU @ 600Mhz 8核心Mali-450MP GPU @ 600Mhz
  • DDR3 1GB RAM DDR3 1GB内存
  • Android Kit Kat Android Kit Kat

If needed, I'm happy to share plots of our echo cancellation performance. 如果需要,我很乐意分享我们的回声消除性能图。

Is it not possible to use AEC for mobiles or are we missing something? 无法在手机上使用AEC还是我们遗漏了什么?

也许您需要调整等待时间以估计回声。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM