Many device connected to one using WebRTC

562 views
Skip to first unread message

Michael Awetahegn

unread,
Mar 23, 2014, 4:42:59 AM3/23/14
to discuss...@googlegroups.com
Hi,

I was wondering if WebRTC would allow me to allow one device to stream a live broadcast and encode and send the data to the server, and then allow a large number of people ( > 250 )  to connect to the Server and just be able to watch what the User is streaming live. These users will not be able to send video / audio towards the server but only watch it as a video. I only thought this was possible because in other application of WebRTC it is of equal exchange form two devices, thus a large amount of people will not be able to connect.

If this is not possible, then how would I go about solving such a problem?

Regards,

Michael

Ray Jender

unread,
Mar 24, 2014, 3:50:28 PM3/24/14
to discuss...@googlegroups.com, michaelaw...@gmail.com

Hi Michael,

I don't claim to be any kind of expert here, but during my WebRTC Conferencing research I have found that
to do something like you want to, you would need an MCU.  And I do not know what the upper limits of
viewers would be.  I am sure someone else reading this knows more than I do.

I would be very interested in anything you find out that may not be posted here though.  And I would
appreciate it...

Thanks,

Ray

Francois Temasys

unread,
Mar 24, 2014, 9:44:11 PM3/24/14
to discuss...@googlegroups.com, michaelaw...@gmail.com
Hi Michael,

Yes it is possible, it is not mandatory for a peerconnection to have an output stream.
But for now you can only relay the video, for the audio:

Cheers,
Francois

Michael Awetahegn

unread,
Mar 25, 2014, 6:59:40 PM3/25/14
to discuss...@googlegroups.com, michaelaw...@gmail.com
Hi,


Thanks for your help. I found an Open-source MCU that can relay my video to rooms that clients can connect to, and it is called LiCode. But I haven't found out the limit to the number of people that can connect yet.

Regards,

Michael

Ray Jender

unread,
Mar 26, 2014, 3:20:20 PM3/26/14
to discuss...@googlegroups.com, michaelaw...@gmail.com
Yes,  I have been interested in Licode also.   Please let me know how your progress goes.

Ray
Message has been deleted

Luis Lopez Fernandez

unread,
Mar 27, 2014, 4:29:31 AM3/27/14
to discuss...@googlegroups.com
Dear Michael,

For doing what you want, you can use MCU which is basically a server side infrastructure providing group communications capabilities. There are many open source software MCUs including Licode, Jitsi Video Router and Kurento.org. The scalability limitations of such MCUs comes from the fact that every outgoing flow needs to be ciphered independently. So, if you have 100 outgoing flows on the MCU (100 consumers), then the MCU will need to cipher 100 times the stream. If you want to scale further, a possibility is to use Kurento.org HttpGetEndpoint element. Let me explain you:
- At the server, you receive one WebRTC flow using a capability called WebRtcEndpoint.
- Now, everytime a consumer connects, you create an HttpGetEndpoint to provide the media to that consumer and you execute:
WebRtcEndpoint#connect(HttpGetEndpoint)
- Kurento will automatically convert the WebRTC incoming flow into a WebM (or MP4) outgoing flow that can be consumed directly using a <video> tag.

Advantages:
- Higher scalability given that all outgoing flows are clones (you don't need to cipher them independently)
- You can feed the WebM/MP4 flow to a CDN if you want really high scalability
- All browsers (including IE) could consume the flow

Disadvantages
- HTTP pseudostreaming will have higher latency than WebRTC. So, consumers will have a delay of around 4 seconds in the video.

Best

L.
Reply all
Reply to author
Forward
0 new messages