Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add group video calling #3

Open
blacklightpy opened this issue Apr 10, 2020 · 15 comments
Open

Add group video calling #3

blacklightpy opened this issue Apr 10, 2020 · 15 comments
Assignees
Labels
design feature A new feature help wanted Extra attention is needed high priority

Comments

@blacklightpy
Copy link

Seems like only two users can join at a time while the others have to wait

@Anil-matcha
Copy link

Group video calling would either need all the users sending video feed to every other user which bottles up the bandwith or you would need an SFU in between which costs money so the feature can't be provided for free ideally. Although a group of at max 4 users using only p2p should be possible

@ianramzy
Copy link
Owner

I am experimenting with having a single beacon server, but that's very expensive and I'm a college student so I don't know if I will do that. I am looking into other ways to do it P2P as well. I think for small groups <4 P2P should be possible. https://testrtc.com/different-multiparty-video-conferencing/

@captainhook
Copy link

With regards to the single beacon server, I am happy to provide a Linux box on Azure for you to experiment with if you'd like?

@ianramzy
Copy link
Owner

Yeah that would be great! @captainhook

@ianramzy
Copy link
Owner

If someone also wants to make a branch to experiment with 4 people p2p calling I would be super grateful!

@captainhook
Copy link

Yeah that would be great! @captainhook

I have emailed you :)

@OrlandoCo
Copy link

Making a SFU server it's not a trivial task, perhaps you can use some open source projects like janus or mediasoup and make docker images for easy installation and integration. Also you can add a turn server in the image, since turn server it's not free.

You maybe will find easy to implement mediasoup since use Nodejs/Javascript

@unruledboy
Copy link

How about a one side video push (by the host person) and all the participants are just subscribers of the that video feed, it’s like a live video broadcasting, but viewers can chat and do all sorts of actions.

@OrlandoCo
Copy link

How about a one side video push (by the host person) and all the participants are just subscribers of the that video feed, it’s like a live video broadcasting, but viewers can chat and do all sorts of actions.

In a one to many scenario, if one of the users it's on a poor network and can't handle the bitrate, it's going to affect all the users, because the host will try to adjust to the worst case scenario. Also since webRTC it's a full MESH topology the host will upload N videos.

So a SFU server it's still required and it must support multicast/SVC for better quality.

@husseinraoouf
Copy link

if you added an SFU server what would be different than a project like jitsi

@unruledboy
Copy link

@husseinraoouf jitsi does not work on mobile browsers, just ,tested with chrome & safari in iPhone, but this project does work with Safari in iPhone

@Chaphasilor
Copy link
Collaborator

mediasoup actually looks promising, although I'm not quite sure how to integrate this with a STUN server yet. This would also result in additional costs for hosting and remove peer-to-peer connections.

Because of this, for a group of 3-4 people we should probably rather use a mesh topology in order to keep this peer-to-peer whenever possible.

@ianramzy
Copy link
Owner

There are a number of GitHub repos I am currently exploring about this:
https://github.com/tom-james-watson/p2p.chat
https://github.com/muaz-khan/WebRTC-Experiment/tree/master/video-conferencing

@ianramzy
Copy link
Owner

https://github.com/peer-calls/peer-calls

@ianramzy ianramzy changed the title Support group video calling Add group video calling Apr 17, 2020
@ianramzy
Copy link
Owner

Okay I have done more research and for group calling we dont need to worry about making a SFU server yet.That would give better performance, but at the cost of scalability and server costs

I think a basic p2p mesh configuration would be able to handle up to 4 people in a call with minimal problems

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design feature A new feature help wanted Extra attention is needed high priority
Projects
None yet
Development

No branches or pull requests

8 participants