4 ms·
Nice guide. A little warning, while WebRTC is known as a p2p tech, what few people realize before starting using it is that while it is p2p technically, you nee
by patrickaljord 9y ago
Nice guide. A little warning, while WebRTC is known as a p2p tech, what few people realize before starting using it is that while it is p2p technically, you need like 3 to 4 centralized servers to make a connection between two peers.
Just google TURN, STUN and ICE servers and protocols, you will also need a signaling server (usually your app) and a web server where the app is hosted. That's why most people use webrtc as a service solutions or all in one webrtc servers that are hard to customize/setup.
- k__ 9y agoI looked into Kurento, which made a promising first impression. But I have the feeling, most WebRTC stuff is badly documented, proprietary and/or outdated.
- befron 9y agoThat was my experience with it. However, I was trying to use the native android build, and I believe the browser version is much better about that stuff.
- throwawaybbq1 9y agoI looked into WebRTC for a few days and had the same issues with the docs you folks mentioned. What is up with that? My sense was that WebRTC is just a repackaging of many existing standards so it isn't a new tech by itself. The challenge some of us are having is that we are not familiar with each of the underlying technologies. I felt I should revise SIP, and NAT traversals before I have a hope of cracking WebRTC.
- compuguy 9y agoHasn't Kurento development ground to a halt since they were bought out by twillo?
- k__ 9y agoYes, seemingly.
- j1elo 9y agoTwillio acquihired most of the staff and some proprietary bits, but the opensourve part is still alive and the Kurento project is starting to get out of the halted state. A new version will get released in the coming days. Also the new team is building upon Kurento to make a simpler layer with the more specific use case of group video calling, named Openvidu.
- vertex-four 9y agoYou don't need STUN or TURN so long as you can be certain that your devices can talk to each other directly (without NAT punching or tunnelling). They exist because it's generally impossible to create peer-to-peer connections over the internet, unfortunately. Luckily, it's not difficult to set them up - [coturn](https://github.com/coturn/coturn https://github.com/coturn/coturn) is a decent implementation. The major downside is that you're going to be paying for the bandwidth of anyone who can't make a direct connection. The signalling server, though, just copies information about each peer to the other. Technically, you could transfer it any way you like - by carrier pigeon or through js-libp2p.