Glimesh / janus-ftl-plugin

A plugin for the Janus WebRTC gateway to enable relaying of audio/video streams utilizing Mixer's FTL (Faster-Than-Light) protocol.
https://hayden.fyi/posts/2020-08-03-Faster-Than-Light-protocol-engineering-notes.html
GNU Affero General Public License v3.0
44 stars 11 forks source link

Audio on Chromium based browsers is muxed to mono #98

Closed haydenmc closed 3 years ago

haydenmc commented 3 years ago

Initially reported here: https://github.com/Glimesh/glimesh.tv/issues/535

This appears to be a bug in Chromium relating to OPUS audio and WebRTC (based on this open issue: https://bugs.chromium.org/p/webrtc/issues/detail?id=8133) and is not present in Firefox.

I recorded a demonstration of the issue here: https://youtu.be/8EfQdcGzsu8

Tested on the latest versions of Chrome Canary, Stable and Microsoft Edge along with Chromium itself.

It might be possible to work around this issue, seeing as though Discord is capable of playing back stereo OPUS through WebRTC, but I'm in no way qualified enough to provide a solution. :P

haydenmc commented 3 years ago

From the linked Chromium bug:

the stereo=1 parameter needs to be added to both the local and the remote SDP during negotiation

This might be a good place to start.

clone1018 commented 3 years ago

Confirmed that this happens on Safari Version 14.0.3 (16610.4.3.1.7) as well. Firefox works correctly.