Live data from Hacker News

Mediasoup – WebRTC video conferencing

github.com

41–49 of 49 posts

Re: Mediasoup – WebRTC video conferencing

#41
post #26

Earlier quoted context omitted.

Yes, you can use WebRTC DataChannels for sending custom text/binary data on top of a ICE+DTLS connection. BTW mediasoup supports DataChannels. Any question or comment about mediasoup?

What advantages does sending data over WebRTC have over sending data over websockets?

DataChannels are transmitted over the same UDP/ICE "connection" that is used to transmit audio and video packets. So if you plan to send real-time data (for example: real-time subtitles, metadata related to the current video position, etc) by sending such a data over DataChannel it will reach the remote without delay over the audio/video. If you use WebSocket to transmit the data, there may desynchronization between audio/video and data because they use a different network path.

Re: Mediasoup – WebRTC video conferencing

#42

The demo is nice and clean. How does this compare to Kurento, or Janus? Edit : I see Kurento is now assumed dead thanks to Twilio buying them, and I understand Janus doesn't provide any client libraries.

Kurento is not dead. New releases are published from time to time. And its companion project OpenVidu provides a lot of features. Mediasoup and Janus are also really good projects. Disclaimer: I'm OpenVidu project lead.

Is there a specific reason hindering you from publishing a Debian package, or becoming/appointing a Debian packager, so that your product is available to anyone restricted to official package Debian sources?

Re: Mediasoup – WebRTC video conferencing

#43

I've looked at WebRTC a few times, and every time I've been overwhelmed by the complexity of the protocol. I understand video streaming is hampered by codec patents, etc. but in 2020, the situation seems to be getting better with open source codecs unencumbered of patents (VP8,VP9, AV1, etc.) Why is the best we have still WebRTC? Seems it could be simplified as a protocol .. is this inherently hard or just a result o…

It's way too complicated. I suspect it's some design by committee with large backer interests interfering. WebRTC is a collection of underlying protocols, SDP, STUN, DTLS, RTP, SCTP. A superficial glance it seems to make sense, each of these RFCs provide some aspect needed in WebRTC. However. These standards are from a naive happy time when the internet was open and routable, which means it's only some subset of said…

You complain about SDP and about RPTTransceiver. But RTPTransceiver comes from ORTC, which was exactly introduced to avoid messing with SDP all the time. And you need it to specifiy simulcast layers. You don't need to use it.

Re: Mediasoup – WebRTC video conferencing

#44
post #40

Earlier quoted context omitted.

Neither is available in Debian repos.

mediasoup is not an application, is a Node.js library. It's yet nother NPM dependency in your Node.js application. No reason to have a DEB package.

Fair point, but there are standard ways to package npm deps in Debian: https://packages.debian.org/buster-backports/npm2deb

For restricted environments limited to things you can get from standard repos this is the only way to get NPM deps.

Re: Mediasoup – WebRTC video conferencing

#45

I've looked at WebRTC a few times, and every time I've been overwhelmed by the complexity of the protocol. I understand video streaming is hampered by codec patents, etc. but in 2020, the situation seems to be getting better with open source codecs unencumbered of patents (VP8,VP9, AV1, etc.) Why is the best we have still WebRTC? Seems it could be simplified as a protocol .. is this inherently hard or just a result o…

I think the main problem is that webRTC started from VOIP standards. That's why we're stuck with SIP and thousands of RFC's that seem very daunting for a newcomer to webRTC. I guess that's also why so many webRTC developers seem to come from spain (they were always big in the VOIP world with companies like telefonica).

It's getting slowly better since the standard introduced concepts from ORTC.

Re: Mediasoup – WebRTC video conferencing

#46
post #40

Earlier quoted context omitted.

mediasoup is not an application, is a Node.js library. It's yet nother NPM dependency in your Node.js application. No reason to have a DEB package.

Fair point, but there are standard ways to package npm deps in Debian: https://packages.debian.org/buster-backports/npm2deb For restricted environments limited to things you can get from standard repos this is the only way to get NPM deps.

Yep, I know. However the effort required to make and maintain DEB/RPM packages for different architectures (mediasoup has a C++ component) is huge.

Re: Mediasoup – WebRTC video conferencing

#47
post #39
post #30

Can someone explain how mediasoup differs from the RTCPeerConnection object (and related events) discussed in this Mozilla webrtc tutorial [0]? Given that it uses c++ I figure that mediasoup is more than just a wrapper around this? Any usability or reliability benefits of either? [0] https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/...

mediasoup (server side, so the Node + C++ component you mean) does not implement "RTCPeerConnection". That's just needed for browsers. In mediasoup we don't use SDP but specific RTP parameters as defined here: https://mediasoup.org/documentation/v3/mediasoup/rtp-paramet... If you want to know why we don't use SDP (as communication means between client and server) here a good reading: https://webrtchacks.com/webrtc-sd…

Ah, okay, whenever I think webrtc I assume p2p with no server but I am now actually reading into what SFU is, etc. Makes sense. Thanks for pointer to these resources.

Re: Mediasoup – WebRTC video conferencing

#48

Earlier quoted context omitted.

Kurento is not dead. New releases are published from time to time. And its companion project OpenVidu provides a lot of features. Mediasoup and Janus are also really good projects. Disclaimer: I'm OpenVidu project lead.

Is there a specific reason hindering you from publishing a Debian package, or becoming/appointing a Debian packager, so that your product is available to anyone restricted to official package Debian sources?

Anyone can be a Debian package manager and publish their package in their PPA repository, mediasoup is a Node.js library, think of it as another NPM dependency for your project
Post reply on HN