This simply mean the media is not flowing, which suggests that there is some configuration issue on your side. Have you tried it without docker? If no then do it, it will simplify things for you. Free yourself from the complexity of this docket setup for the moment.
Also try running mediasoup demo on your local system and see what you are doing wrong.
1/ I created a listener when i create a transport like this:
transport.on("icestatechange", (iceState) => {
console.log(`ICE state changed to ${iceState}`);
});
This is my log:
ICE state changed to connected
ICE state changed to completed
ICE state changed to disconnected
If i do a connection, the connection is making.
Then the connection is working.
Then if i disconnect it disconnect.
But nothing when the consumer connect to it.
2/ Ensure you don’t create the mediasoup side Consumer in paused mode.
The media stream is not paused i did “play()” on my video element, but maybe i have to do something similar on the consumer and not the video element itself ?
But my media track is muted to true, i tried to change it to false in consumer side but it stay at true.
3/ Checks stats periodically via consumer.getStats() or via chrome://webrtc-internals.
It’s what i did in my previous comment, it’s what my producer was ssending.
Do you see something abnormal ?
For me it seems ok.
The consumer (client-side) receives what the producer are sending from the server, not directly from the producer. Why are looking at the producer’s webrtc-internals? That’s another connection.
To be sure producer is well sending the media track, but it seems ok from producer side and consumer side.
I tried to run my server on local without docker but i have other error, i think it’s because i am running on windows and it could be case sensitive.
I have this error:
Node NOT Exiting...
uncaughtException
./node_modules\mediasoup\worker\out\Release\mediasoup-worker ENOENT
So i will stay with docker i guess, but it can bring issue, maybe my issue come from there like we said.
But i have so much problem without docker…
Producer seems ok, you have some issue with consumer side. If producer is sending the data correctly then it means there is no connection problem. You might not be consuming correctly.
Make sure you are not consuming and producing on the same transport, you should either produce or consume.
Make sure the producer id you are sending to server, device rtp capabilities are correct.
You should consume from the same router on which producer resides.
There is a canConsume() method on server which tells whether we can consume a producer or not.
maybe i see where the problem can come from.
For a producer, i can’t and don’t have to use the createWebRtcTransport method for a consumer but for a producer it’s ok ?
On server side ‘createWebrtcTransport’ is used to create transport for both producer, consumer.
On client side ‘createRecvTransport’ is used to create transport for consumer and ‘createSendTransport’ is used to create transport for producer.
One thing remains common which is you can’t produce and consume together on one single transport they are one way either produce or consume.