miroslavpejic85/mirotalksfu

P2P mesh/relay networking.

excitedbox opened this issue · 1 comments

Let me start by saying that it is amazing what you have built here. This project is so cool. One feature that I would love to see that would take it into the future and give it an edge would be p2p mesh networking for streaming.

Using a p2p protocol would:

  • reduce server resources needed
  • increase scaleability
  • decrease cost
  • improve quality

Implementation

  • Server acts as "DNS" or some kind of registry.
  • When a client joins server checks connection stats to determine relay node suitability.
  • Client gets list of other potential relay client nodes.
  • Client pings list of other client nodes to determine best relay partner(s). (best connection speed, lowest latency, etc)
  • Client establishes connection with relay partner and starts receiving stream packets.

This would be hard/impossible to do using web sockets or webrtc and would most likely be easier using one of the available p2p streaming protocols already available.

Might even be cool to add a point system to reward clients who act as relay/multicast nodes which can be used in stream/chat. Ie using points to get access to extra emojis, stream subscriptions/memberships, special user labels, etc.

I think a lot of the use cases for this could be twitch/youtube streamers, looking to secure their existence by breaking the dependence on these platforms.

Let me know if you have any questions or if there is something I can do to help. Thanks again.

Hello @excitedbox!

Thank you so much for your kind words! It's really heartwarming to hear that you find our work amazing.

MiroTalk SFU is the one of five distinct projects, this one is built upon the WebRTC SFU (Selective Forwarding Unit) technology.

For users who prefer a peer-to-peer (P2P) WebRTC experience, we have also developed MiroTalk P2P, MiroTalk C2C, MiroTalk BRO for specific usage case with all the PROS that this tecnology offers.

MiroTalk P2P

Live demo: https://p2p.mirotalk.com
GitHub: https://github.com/miroslavpejic85/mirotalk

MiroTalk C2C

Live demo: https://c2c.mirotalk.com
GitHub: https://github.com/miroslavpejic85/mirotalkc2c

MiroTalk BRO

Live demo: https://bro.mirotalk.com
GitHub: https://github.com/miroslavpejic85/mirotalkbro

MiroTalk WEB

Live demo: https://webrtc.mirotalk.com
GitHub: https://github.com/miroslavpejic85/mirotalkwebrtc

Forum

Join us on our official forum at discord.gg/rgGYfeYW3N to engage in discussions, exchange ideas, and connect with our wonderful community. We look forward to interacting with you!

Thank you.