Issue:
Everything works fine when one client is connected, but when a second client connects (red part of the diagram), the video freezes for the first client and the second one is okay. Inspecting traces, I see there is a problem with keyframes; the first client doesn’t receive keyframes anymore, but in the consumer on the server, there are trace events that send keyframes.
Any ideas ?
I’ve tried increasing the configuration in sysctl.conf and also increasing the sendBufferSize in both PlainTransport and WebRTCTransport , but I still can’t create two consumers on the same producer.
I take a screenshot of chrome://webrtc-internals/ and I notice significant changes in the graphs.
At 17:12, I introduce a second client and observe that I am unable to decode frames anymore. There are numerous packet losses and a considerable amount of retransmitted packets being received.
I have the impression that the consumer stops sending RTP packets, so the client sends NACK requests, causing the server to respond with retransmitted packets, but I’m not quite sure why this behavior occurs.
After further investigation, the server is still sending all the RTP packets, but I don’t know why on client-side packets are being received (I see them in Wireshark), yet the client doesn’t see or recognize them (I’m not sure).
What? Disabling liburing should not fix anything. If you identify a bug that hopefully can be properly reported and reproduced and if that bug goes away by disabling liburing, please report a bug in mediasoup GitHub.