Live data from Hacker News

Mediasoup – WebRTC Video Conferencing

mediasoup.org

21–30 of 69 posts

Re: Mediasoup – WebRTC Video Conferencing

#21
post #19

Earlier quoted context omitted.

For small numbers of participants, many of these platforms use full mesh (which is e2e encrypted).

Yep, but you can't trust that e2e is a property of the app then, unless it prominently features in the ui.

You are 100% correct.

The product I work on signals this to the user, and asks for confirmation before "upgrading" to an SFU.

Re: Mediasoup – WebRTC Video Conferencing

#22
post #20

Earlier quoted context omitted.

You still need servers to handle the signalling, perform ICE and TURN where applicable.

Only if you need to support users without full internet connectivity. Again webrtc can be used in many different requirement contexts.

You can certainly manually handle the signalling to set up the offer/answer. e.g. read them out to your peer(s).

You would still need some form of STUN server (but there are a number of 'freely accessible' ones, even configured as defaults in some browsers) to get your reachable address/port/proto. You cant, AFAIK, handle this manually - it is handled internally as part of ICE. Then you would need to manually handle the signalling of these as well.

Thats the bare minimum you have to do to peer over webrtc under ideal circumstances, but its certainly doable.

So you do that for each peer. If you (or a peer) change streams you will do the same thing all over again

Re: Mediasoup – WebRTC Video Conferencing

#23
post #20

Earlier quoted context omitted.

Only if you need to support users without full internet connectivity. Again webrtc can be used in many different requirement contexts.

You can certainly manually handle the signalling to set up the offer/answer. e.g. read them out to your peer(s). You would still need some form of STUN server (but there are a number of 'freely accessible' ones, even configured as defaults in some browsers) to get your reachable address/port/proto. You cant, AFAIK, handle this manually - it is handled internally as part of ICE. Then you would need to manually handle…

STUN is not needed if the participants have full internet connectivity, only if you have to work around NAT.

Re: Mediasoup – WebRTC Video Conferencing

#24
post #23

Earlier quoted context omitted.

You can certainly manually handle the signalling to set up the offer/answer. e.g. read them out to your peer(s). You would still need some form of STUN server (but there are a number of 'freely accessible' ones, even configured as defaults in some browsers) to get your reachable address/port/proto. You cant, AFAIK, handle this manually - it is handled internally as part of ICE. Then you would need to manually handle…

STUN is not needed if the participants have full internet connectivity, only if you have to work around NAT.

As mentioned, you cant manually set up your listening ports - this is handled internally by ICE, which needs to connect to a STUN server to get (at a minimum) your public IP address.

edit: cant reply to your comment fulafel, but on that project you posted: https://github.com/cjb/serverless-webrtc/blob/master/serverl... Also, note that even if this wasnt defined, some browsers contain defaults. You 100% need STUN, but you can handle the signalling manually - as I stated.

edit2: cant reply to your comment ibc, but I was explaining the bare minimum 'serverless' webrtc case still required a STUN server. I appreciate that mediasoup SFU uses ice-lite instead.

Re: Mediasoup – WebRTC Video Conferencing

#25
post #23

Earlier quoted context omitted.

STUN is not needed if the participants have full internet connectivity, only if you have to work around NAT.

As mentioned, you cant manually set up your listening ports - this is handled internally by ICE, which needs to connect to a STUN server to get (at a minimum) your public IP address. edit: cant reply to your comment fulafel, but on that project you posted: https://github.com/cjb/serverless-webrtc/blob/master/serverl... Also, note that even if this wasnt defined, some browsers contain defaults. You 100% need STUN, but…

I know I've seen at least data channel working without STUN, this was the demo I think: https://github.com/cjb/serverless-webrtc/

If you say it's different with media channels, I'll believe you.

WebRTC can tell you your ip address without any external server, that only breaks if you are dealing with NAT.

edit: to clarify the NAT-less use case, i'm thinking of apps that can rely on/require p2p supporting IPv6 connectivity.

Re: Mediasoup – WebRTC Video Conferencing

#26
post #3
post #2

This website could be a lot more useful if it answered these questions: * How good is this compared to other alternatives? (Or why choose this instead of something else?) * Where are the client apps for this, more importantly on mobile?

Sure, the website could be better. Here's a demo https://v3demo.mediasoup.org/ And here's the source code for the demo: https://github.com/versatica/mediasoup-demo/ Libs for native apps: https://github.com/haiyangwu/mediasoup-client-android https://github.com/ethand91/mediasoup-ios-client

I'm a core mediasoup developer.

Those libs for native apps are not official mediasoup components. We deliver libmediasoupclient[1] which is a native C++ implementation of the JS mediadiasoup-client[2] and uses libwebrtc[3] C++ native code directly.

Those two libs for native apps make use of libmediasoupclient, but they are not written nor maintained by us. Having said that, to the moment there is no official Android or IOS native client but there is libmediasoupclient which will be the core for both.

[1]: https://github.com/versatica/libmediasoupclient [2]: https://github.com/versatica/mediasoup-client [3]: http://webrtc.github.io/webrtc-org/native-code/

Re: Mediasoup – WebRTC Video Conferencing

#27
post #23

Earlier quoted context omitted.

STUN is not needed if the participants have full internet connectivity, only if you have to work around NAT.

As mentioned, you cant manually set up your listening ports - this is handled internally by ICE, which needs to connect to a STUN server to get (at a minimum) your public IP address. edit: cant reply to your comment fulafel, but on that project you posted: https://github.com/cjb/serverless-webrtc/blob/master/serverl... Also, note that even if this wasnt defined, some browsers contain defaults. You 100% need STUN, but…

Re your edit, ok i stand corrected, thanks for the correction!

Re: Mediasoup – WebRTC Video Conferencing

#28
post #2

This website could be a lot more useful if it answered these questions: * How good is this compared to other alternatives? (Or why choose this instead of something else?) * Where are the client apps for this, more importantly on mobile?

Hi, mediasoup co-author here.

Comparing Jitsi with mediasoup is like comparing Netflix (backend + apps) with Express.js + libcurl.

Jitsi developers may replace their RTC core internals (including the SFU) with mediasoup + mediasoup-client and you wouldn't even realize of it. Hope this helps.

Re: Mediasoup – WebRTC Video Conferencing

#29
post #16

Earlier quoted context omitted.

Do you have any examples of a webrtc video conferencing platform that provides a sufficient user experience over full mesh with 4 or more participants on disparate internet connections? Im just saying that this library (and similar platforms) ARE the cutting edge of webrtc. At small number of participants, they use full mesh (which is e2ee), but at larger scale, they need to use an SFU (which is not e2ee without jump…

No (but i hope they exist, havent looked) - however not all webrtc apps are general videoconf platforms. You don't even need servers if you go full p2p.

mediasoup co-author here.

> You don't even need servers if you go full p2p

If you have N participants into the same "room", and do not have a central SFU that relays streams to others, then you have a full mesh network with all participants sending audio and video to all the others. Is that the "go full p2p" you meant?. Well, try it, and you'll see how your CPU burns when the browser/app tries to encode your webcam video source N times. And of course, you'd need N x uplink.

Re: Mediasoup – WebRTC Video Conferencing

#30
post #25

Earlier quoted context omitted.

As mentioned, you cant manually set up your listening ports - this is handled internally by ICE, which needs to connect to a STUN server to get (at a minimum) your public IP address. edit: cant reply to your comment fulafel, but on that project you posted: https://github.com/cjb/serverless-webrtc/blob/master/serverl... Also, note that even if this wasnt defined, some browsers contain defaults. You 100% need STUN, but…

I know I've seen at least data channel working without STUN, this was the demo I think: https://github.com/cjb/serverless-webrtc/ If you say it's different with media channels, I'll believe you. WebRTC can tell you your ip address without any external server, that only breaks if you are dealing with NAT. edit: to clarify the NAT-less use case, i'm thinking of apps that can rely on/require p2p supporting IPv6 connecti…

And somehow this discussion become a general topic about WebRTC scenarios. They do exist, yes, but mediasoup is a SFU scenario. No STUN is required at all. TURN may be needed if the client network/router blocks UDP.
Post reply on HN