WebRTC might be the biggest scam in all the "web" (aka Google Chrome) technologies.

I don't know about the ideas behind creation of WebRTC, but the way it was sold, and has been consistently sold for the last 10 years, is that it is a thing that you can plug in your code and it will magically work.

Oh, right, it also requires a STUN server, but look, you don't have to host anything, there are dozens of free public STUN servers on the internet -- and after that the WebRTC connection is established and you can freely transfer data, voice, video, everything!

Turns out WebRTC is useless without TURN servers, which just relay the entire bulk of the data and, most importantly, are not hosted for free by anyone for anyone else.

To this day developers keep dreaming of a magic peer-to-peer web that can be powered by WebRTC and wasting their weekends writing super nice projects that rely on WebRTC -- without TURN servers -- and therefore do not work at all. The worst part is that they always work when tested locally, generally in the same computer, two different browser tabs or even two different browsers (although in the second case no always).

I'm writing this because I just saw an anonymous developer talking about doing WebRTC signaling over Nostr as if that was the hard part. There is also a WebRTC signaling over Nostr NIP proposal. These things are everywhere. I have myself written at least two projects that relied on WebRTC in the past hoping that time it would be different and p2p would work.

Reply to this note

Please Login to reply.

Discussion

Exactly the same feeling. You just need to work with WebRTC once to realize how useless it is

Thanks for the info. That sounds like a terribly designed spec.

It would be great if we could get real p2p video chat (like Keet as a rust library).

I'm not a dev. is webrtc the basis behind vdo. ninja ? bummer if so.

Probably, and they probably have some beefy private TURN servers like all the projects that "use webRTC" out there.

TURN can get very complicated very fast. Toss in SFUs for certain situations and that gets even more complicated.

TURN is needed in *some* cases, not always. UDP hole punching (and true p2p) often does work for clients sitting behind simple home routers and similar equipment. There is no magic behind this technique and it’s not a scam. But right - AFAIR Google itself used to admit in the early days of Hangouts service that about 10% of all calls required TURN.

Also, the whole thing is really overengineered so it can be hard to find out why ICE protocol yields this or that result.

I don't buy that. I would say it's more like 10% _don't_ require TURN.

In any case, the point is that the requirement of TURN isn't mentioned in any of the newbiew guides "let's make video streaming directly from your browser" and has been that way since always.

There always should be a reason for the need of TURN. Like symmetric NAT. Or routing of all traffic via a VPN service, which can effectively have the same effect as symmetric NAT.

I don't get it, nostr uses websockets under the hood. Why do we neee webrtc?

Would a light TURN -like server on your own Umbrel work for family & frens use ?

I don't think that helps much.

Glad I'm not the only one who's noticed this.