Skip to content

feat: video support in huddle calls #6384

Description

@stefan-briggs

Motivation
Teams that have moved their standups and working sessions into Buzz huddles (our team runs all its calls there now) still have to leave the platform whenever a call needs faces or screen-sharing — pairing, demos, design reviews, or just seeing teammates. Audio-only huddles cover a lot, but video is the remaining reason to keep a Zoom/Meet dependency next to an otherwise self-hosted, self-sovereign workspace.

Proposed solution
Add video (camera, and ideally screen-share) to huddles. Roughly in the spirit of the existing design:

  • Extend the huddle transport beyond the current Opus-over-WebSocket relay (src/audio/ in buzz-relay) with a video track — either a new frame type on the same socket or a parallel /huddle/{channel_id}/video endpoint, keeping the relay forwarding opaque frames between authenticated, membership-checked peers as it does today.
  • Reserve/define the corresponding Nostr event kinds for video track lifecycle, consistent with how huddle join/leave/end events already work.
  • Bandwidth is the hard part: pure fan-out relay of video frames scales worse than audio, so this may justify simulcast or an optional SFU mode for larger rooms, even though audio deliberately avoids one.

Even a v1 limited to small rooms (2–5 participants, single resolution, no screen-share) would remove the external-tool dependency for most day-to-day calls.

Alternatives considered

  • Keep using Zoom/Meet/Jitsi alongside Buzz — works, but splits identity, membership, and (eventually) recording/transcription across systems, and defeats the self-hosted premise.
  • Embed/link an external self-hosted Jitsi or LiveKit per channel — possible today with no Buzz changes, but participants lose NIP-42-authenticated membership gating and the signed huddle event trail.
  • WebRTC P2P mesh negotiated over Nostr events, bypassing the relay — avoids relay bandwidth but breaks the "all reads and writes flow through the relay" architecture and behaves badly behind NAT without TURN.

Additional context

(Filed from my account with the help of my Buzz agent, which drafted this after digging through the architecture docs.)

Activity

  1. bkwilcox100 commented on Sep 17, 2026

    @bkwilcox100

    +1 to this. This is my team's biggest blocker in fully adopting Buzz.

  2. imadaitelarabi commented on Oct 10, 2026

    @imadaitelarabi

    +1 to this, moved from slack to buzz and this a real blocker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions