Video calls, like Zoom

hunchboard

Peer to peer for two, an SFU for a meeting, signaling and what happens on a bad network.

Comments

    What is on this board

    Parts

    • Host Desktop app
    • Guest Mobile app
    • Signaling WebSocket / realtime server
    • TURN Reverse proxy
    • SFU Service · WebRTC
    • Rooms Key-value store · Redis
    • Recording Media processor
    • Recordings Object storage · S3
    • Sign-in Identity provider
    • An SFU, not a mixer Decision record

    How they connect

    • Host → Signaling: join room
    • Guest → Signaling: join room
    • Signaling → Rooms: members
    • Signaling → Sign-in: who is this?
    • Host → SFU: my video
    • SFU → Guest: video
    • Guest → TURN: behind a firewall
    • TURN → SFU: relay
    • SFU → Recording: record
    • Recording → Recordings: save

    Notes and decisions

    • Signaling: Who is in the room, how to reach them
    • TURN: A relay when a firewall blocks direct traffic
    • SFU: Forwards streams, never mixes them
    • An SFU, not a mixer: Each person sends one stream in several qualities, and each receiver gets what fits their network. Far cheaper than mixing video on the server.

    More like this