WebRTC is an emerging web standard that promises cheap, cheerful peer-to-peer media streaming. And by cheap I mean free. It also sidesteps expensive videoconferencing hardware and their remote controls, SIP call negotiation, creaking corporatist dinosaurs like (MSFT-owned) Skype, and the Google-in-your-face-all-the-time aspect of Hangouts (not to mention the amateur-hour Hangouts UI).
Instead, two (or three, or four…) browsers, separated by any thicket of firewalls and NATS, can simply connect and start exchange video and audio streams, data, and even (in Chromium) screen sharing, without the bytes passing through any intermediate server or service. talky.io and secretlymeet.me show some of what’s possible here.
But at the current state of the WebRTC browser APIs, it’s the kind of thing where to get something to work you have to stay on the path. The most common advice on Stack Overflow is to start with a working sample, and mutate from that. That might help. But also, as a guide for the weary, here is a path.