问题
I have a server which is able to relay the WebRTC media data from A to B. For the video conferencing, if we go with P2P approach then a mesh network is created. Whenever P2P doesn't work, we can have this relay server.
The main problem is that in the mesh network, the number of upload link is "N - 1" for N participants. Hence the number of connection goes upto N * (N-1). Usually mesh network allows 5-6 stable connections.
Many online sources suggest to implement SFU. If SFU decrypts the media data and then re-encrypts for every peer then that virtually requires a WebRTC component on the server side. Are there any lightweight C/C++ based library which helps in this regard?
Any better alternative strategy for the same?
BTW, I tried to share the same offer to all the peers with their own answer, but as expected it didn't work. The peer gets disconnected after receiving few chunks.
I have referred below related posts:
- WebRTC - scalable live stream broadcasting / multicasting
- Multi-party WebRTC without SFU
- Can I re-use an "offer" in WebRTC for mulitple connections?
回答1:
There are quite a few free and open source projects that implement an SFU:
- Jitsi is probably the best known, but it is written in Java, and might therefore be unsuitable in some deployments;
- Janus is written in C; it is small, efficient, and well supported, but might not be the easiest to understand;
- Ion-SFU and Galène are written in Go, and might be easier to adapt to your needs.
来源:https://stackoverflow.com/questions/64248070/is-there-any-alternative-approach-to-implement-webrtc-sfu-to-have-only-1-upload