'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