A minimal peer-to-peer video calling demo built with WebRTC.
Uses RTCPeerConnection, getUserMedia, and a basic signaling mechanism (WebSocket or any custom backend) to establish a direct connection between two clients.
- Real-time audio/video streaming between two peers
- Simple UI with local and remote video elements
- ICE candidate exchange
- STUN server support for NAT traversal
- User media: The browser captures video/audio using
getUserMedia(). - Peer connection: Each client creates an
RTCPeerConnection. - Offer/Answer exchange: One client creates an offer, the other responds with an answer.
- ICE candidates: Both peers exchange ICE candidates until a direct connection is possible.
- Direct streaming: Once connected, media flows peer-to-peer with no server involvement.