-
Hello everyone, I was wondering if someone could take a look at this and let me know if they have any idea what I'm doing wrong: https://github.com/srcrip/sfu It's a simple little SFU demo. You can run it with iex, and connect to port 7001 in multiple tabs. I think my signalling is correct, I have the correct number of tracks on the peers I expect, and I'm writing the packets the way I would expect, but I'm experiencing weird issues like:
I've looked at the sdp and it seems right to me. I feel like the problem is in writing the packets but I just don't know. I feel like I'm using the API correctly. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
I'll try to take a look tomorrow |
Beta Was this translation helpful? Give feedback.
-
Closing, as I answered your question (hopefully), and the discussion has been inactive for a while. |
Beta Was this translation helpful? Give feedback.
You don't seem to send a keyframe request when a new peer joins, which would explain why the joining peer cannot decode video from already present peers (or it starts to work fine after a while, when the browser decides to encode a new keyframe for unrelated reasons, probably). Read this if you don't know what a keyframe is.
When a new peer is added, you should prompt other peers to encode a keyframe by sending a FIR or PLI RTCP feedback to them (both will result in a new keyframe, although FIR is probably more semantically correct in this case).
I've added both FIR and PLI to
ex_rtcp
, but it hasn't been released yet so you have to use