I've been digging into WebRTC to understand how it works under the hood. My goal is to eventually build a lightweight media server with SFU capabilities — but focusing on the protocol level, not just using libraries.
To get there, I'm breaking it down into smaller projects. The first one: a basic WebSocket signaling server written in Rust (based on RFC 6455). I'm also learning Rust, so this was a good way to build something real while figuring things out.
On the frontend, I used Angular and just the RTCPeerConnection API — no external WebRTC libs. The focus for now is just signaling: how peers connect, exchange offers/answers, and so on. No media or security handling yet — that's the next step.
Here’s a short demo video on YouTube https://www.youtube.com/watch?v=V_qdW2JchbU It’s not production-ready yet. Right now, each WebSocket connection spins up a new thread, but I plan to rework that using something like Tokio for better performance.
Curious to hear thoughts or suggestions.