How to use WebRTC for broadcasting to 100s recipients? - webrtc

Practical situation, we have a lecture/webinar and I want lecturer to broadcast online 1 way to 100 students at the same time, how would I do that with WebRTC?
I have tried Youtube Live Event today - their concept is similar to my needs and they seems to be using WebRTC as well, but there should be some re-broadcasting server to keep one connection from broadcaster and deliver it to many clients.

Related

Is WebRTC too privacy invasive to use for video chat without TURN servers?

I'd like to implement a simple video chat system for students to tutor each other. I'm a one man show, and would like a system I can run in a cost effective way starting with 10 users, and hopefully scale up as needed.
WebRTC seems like a great, low latency, and cheap option to build this feature. However, if clients are communicating, then they must know each other's public IP. Is this a significant privacy or security issue?
What is the worst case scenario of somebody getting my IP address? Wouldn't any malicious actor have to get through my ISP to get my specific location?
Thanks!
If you host it yourself, WebRTC can be extremely cost-effective. I've been running the SFU at galene.org (disclaimer: I'm the main developer), which is used for multiple lectures with up to a hundred students. Even though this is a full-fledged SFU (and not a mere TURN server), hosting amounts to just over €6/month.
If your tutoring sessions involve just two or three people, then peer-to-peer WebRTC might be enough, but even then a TURN server will be required, especially if some of your users are on university networks. For larger groups, you will need to push your traffic through an SFU.
If you do peer-to-peer WebRTC, then any user can learn the IP of any user they are communicating with; this is most probably not an issue, since the IP addresses are most probably already being disclosed (e.g. in mail headers). If you go though an SFU, then the IP addresses are not deliberately disclosed, but they might still leak; for example, the SFU implementation mentioned above (Galene) discloses IP addresses when a user initiates a file transfer since file transfers happen directly between clients, in a peer-to-peer fashion. (It may be possible to avoid this disclosure by setting the iceTransportPolicy field to relay in the PeerConnection constructor, but I haven't tested how effective it is.)
WebRTC doesn't have to be P2P. You could run a SFU. Each user will upload their video to your server, and the server will distribute via WebRTC. Then the users will never know each others IPs.
I don't have any exact numbers, but it isn't expensive either. Your biggest expense will probably be bandwidth. Lots of Open Source SFUs exist, this is a good list to get started.

What is the best webrtc sfu server for voice call large group?

I want to create app and website , server can join a room and voice chat (100 users) like Ptt(Push to talk). I find out that webrtc can do it, so I use Peerjs. After that I saw some many problems that can't not work with large group user. I know sfu server can solve my problem. Should I choose one between Jitsy vs Janus vs Kurento vs Licode for Nodejs Server and 1 room over 100+ users voice call. Thanks everybody

WebRTC Video & PSTN integration

This is a broad question - are there any solutions to WebRTC Video & PSTN integration ? The requirements are:
Multi-party WebRTC video conference (SFU or MCU, not peer to peer)
Ability to join the conference via PSTN end points (telephones) - obviously with audio fallback
Prefer paid service (like Tokbox or Twilio) rather than roll-your-own solution
We are currently using TokBox, however, it does not provide a PSTN integration. Since the call signalling is entirely hidden under the TokBox API, it seems unlikely that we could add (some kind of) WebRTC to PSTN gateway and make it work. Twilio has a video offering but it's actually in a very infant stage right now (peer to peer only, it seems with a limit of 4 participants).
Since we a Web App company and not a infrastructure company, I'd prefer a solution that handles the infrastructure part (like TokBox and Twilio do), but am open to other solutions as well, if that's what it'll take.
Thank you.
Avinash,
Twilio Video does not currently support PSTN integration. And there is currently that 4 participant limit regarding video chat.
This product is still a beta and constantly evolving so I'd suggest this group to you for keeping up with the updates.

Can WebRTC help me create a virtual classroom?

I'm trying to create a virtual classroom. Since I'm not familiar with the web conferencing (or conferencing) terminology, I'm not sure if I'm understanding WebRTC's capabilities as I should.
I've looked in the examples for WebRTC, and all that I've found seem to be peer-to-peer connections. As I understand it, peer-to-peer connections are between two entities. However, virtual classrooms are different as far as I know; they require all parties to be connected to each other, so that when one user speaks/types, all users hear her.
Is such a thing possible with WebRTC? If so, what is it called and how can I read more about it?
Check out the open source Big Blue Button project (http://bigbluebutton.org/). They're currently Flash based but are actively moving towards webRTC. Rumor has it they'll be using Kurento as their MCU. They also have open source mobile (Android/iOS) application code.
According to http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/, such a thing is possible:
Beyond one-to-one: multi-party WebRTC
You may also want to take a look at Justin Uberti's proposed IETF standard for
a REST API for access to TURN Services.
It's easy to imagine use cases for media streaming that go beyond a simple
one-to-one call: for example, video conferencing between a group of colleagues,
or a public event with one speaker and hundreds (or millions) of viewers.
A WebRTC app can use multiple RTCPeerConnections so to that every endpoint
connects to every other endpoint in a mesh configuration. This is the approach
taken by apps such as talky.io, and works remarkably well for a small handful
of peers. Beyond that, processing and bandwidth consumption becomes excessive,
especially for mobile clients.
Maybe you can try searching in the webrtc google group
hope this helps

One to many video Audio conferencing - webrtc - openTok

I searched about this on google but could not find any suitable answer so posting here for help.
I want to implement video streaming with multiple participants connected. While google this topic I found that WebRTC provide similar functionality but I want to make sure whether WebRTC can support all my requirements.
I want to build an application that should support large number of participants in conference (around 10000).
I want to implement facility like one participant is broadcasting its video and audio streams and other are just listening to their stream.
Also when prompted only one participant will be able to communicate with broadcaster which will be managed by one participant (a administrator). Administrator will decide who can communicate with broadcaster.
Is same can be possible with any other WebAPI ?? I found OpenTok, but not confident if it provide any feature of moderation in conference (i.e. feature of having an Administrator who manages stuff)
Did anybody worked on similar concept or having any information related to this.
Let me know if I am not clear of any further details are required.
Any help would be useful,
Thanks in anticipation
Hardik - I am Product Manager at TokBox, the makers of the OpenTok platform. Good news: TokBox can fulfill virtually all of your requirements, but with a few caveats.
TokBox has been building a video chat/conferencing platform for years, long before WebRTC even existed in fact. In that time we have supported many customers with almost your exact requirements on OpenTok, a platform that is based on Flash (Major League Baseball is one such customer). Building applications on this architecture has the added advantage of solving virtually all of the interop issues that exist when connecting people using different devices and browsers. It is based on Flash however, which technically doesn't meet your WebRTC requirement. So you know, there's that.
WebRTC is where it's at though, which is why we created OpenTok for WebRTC in 2012. It was a complete rewrite of the platform that not only provides higher quality video, but also gives developers more hooks and far more control over how exactly they integrate video and audio chat into their primary customer experience.
Currently in beta (as of this writing in June 2013) are two new components in our WebRTC infrastructure. The first we refer to as Mantis, which solves many of the challenges associated with hosting large multi-party calls. The other is Cloud Raptor, which gives developers access to a stream of events stemming from a WebRTC session, and through which developers can issue events and commands of their own. Raptor is what enables you for example to moderate calls, boot participants, and control whose audio and video streams are broadcast to all the other participants.
So, TokBox has what you need. In the short term we can help you get up and running using OpenTok pretty quickly. Then we can discuss with you how to get you onto OpenTok for WebRTC and into our Mantis and Raptor beta program.