This is my first post and I should start by saying how awesome the mediasoup project is. It’s such a great design and very easy to use. The fact that I was able to get up and running with mediasoup in just a few hours, without much knowledge of webrtc, is a testament to its creators.
I’m trying to debug an issue that I am experiencing with the JS mediasoup-client 3.6.24 on mobile browsers and I’m not entirely sure where to start. I was hoping to get a few pointers, if possible.
In my app, which is all browser-based, I have one audio producer (using the js mediasoup client) and many audio consumers (also using the js mediasoup-client).
For the consumers, everything works great in all desktop browsers I have attempted, even Safari. It works great.
However, when I try any browser on the mobile phone - safari on ios, chrome/firefox/brave on android - I get no audio.
On mobile chrome (debugging using the remote developer tools), I can verify that audio is allowed (audio context is resumed during an onclick event) and capable on the brower, the consumer has an audio track and that the consumer is not paused and the track is not muted. However, getStats() on the consumer (when parsed) shows roughly this:
- bitrate: NaN
- bytesReceived: 0
- concealedSamples: 0
- concealmentEvents: 0
- detached: false
- ended: false
- fecPacketsDiscarded: 0
- fecPacketsReceived: 0
- headerBytesReceived: 0
- id: “RTCMediaStreamTrack_receiver_49”
- insertedSamplesForDeceleration: 0
- isRemote: false
- jitter: 0
- jitterBufferDelay: 0
- jitterBufferEmittedCount: 0
- kind: “audio”
- mediaType: “audio”
- packetRate: NaN
- packetsLost: 0
- packetsReceived: 0
- remoteSource: true
- removedSamplesForAcceleration: 0
- silentConcealedSamples: 0
- ssrc: 483859884
- timestamp: 1603837922640.331
- totalAudioEnergy: 0
- totalSamplesDuration: 0
- totalSamplesReceived: 0
- trackId: “RTCMediaStreamTrack_receiver_49”
- trackIdentifier: “edb41883-a976-4e93-b5e0-1f1e674ece34”
- transportId: “RTCTransport_0_1”
- type: “track”
What would be stopping it from consuming just on mobile browsers? fWIW, I can hook up mobile browsers with audio using the webrtc api just fine. Am I missing some mobile web browser restriction that only applies to mediasoup? I thought mabye rtp capabilities might not be matching up, but all ends seem to be using the same opus codec for audio.
Debugging web apps on mobile is pretty painful, so any tips you have on where to look and how would be most helpful
thanks for any advice!