'Chrome WebRTC echo cancellation and external audio sources
I'm building a video conferencing app using Electron (version 10, Chrome v75) and WebRTC. The app has multiple windows, and in each window, I have a separate RTCPeerConnection with a different app user. The problem is that if I don't use headphones, there is a strong echo that makes the app almost unusable.
I tried setting all sorts of getUserMedia
options like echoCancellation: true
or googEchoCancellation: true
, echoCancellationType: "browser"/"system"
, but none of them managed to cancel out the echo from various sound sources.
This problem appears only on Mac and Linux, while Windows suppresses the echo quite efficiently.
I found this Chromium issue that describes a similar problem in more detail.
Also, when I try out this Fiddle on Chrome + Mac or Linux (although Chrome is not perfect for this very case, find more details here), I see no effects of echo cancellation and the echo is still there. However, the same thing on Chrome + Windows or Firefox + any OS works perfectly.
Can it really be that AEC (echo cancellation) within Chrome does not take into account all sound sources, and does anyone know a workaround?
Solution 1:[1]
add video.volume = 0 to access camera and when you start recording. It works for me
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Keval Vadhiya |