Show HN: OBS Live-streaming with 120ms latency

Latency vs existing streaming

  • OP reports ~120 ms glass-to-glass using OBS + Broadcast Box over a ~37 ms RTT link on modest hardware (Thinkpad T420, Linux).
  • Commenters note most consumer live streams (HLS/DASH, cable, many “live” TV feeds) are seconds to tens of seconds behind; sub-second has existed in pro setups but is rarely used.
  • Some argue that for most content, viewers care more about quality than delay; others say sports and live betting strongly benefit from ultra-low latency.

Why low-latency is hard

  • Traditional HTTP streaming (HLS/DASH) uses segmented MP4/TS, manifests, and large client buffers, all adding latency (segment packaging, manifest RTT, playback buffer).
  • Efficient encoders use B-frames and lookahead, adding tens of ms.
  • For mass distribution, streams must be CDN-cacheable, which fits poorly with ultra-low-latency designs.
  • Many intermediaries buffer conservatively to cope with jitter and poor connections.

WebRTC, WHIP/WHEP, and scaling

  • Broadcast Box uses WebRTC with WHIP (ingest) and WHEP (playback) for sub-second latency.
  • WebRTC itself can do <<1s, but large-scale fanout (100k+ viewers) is non-trivial; requires SFUs and custom infrastructure.
  • Cloud vendors (e.g., Cloudflare Stream WebRTC beta) and commercial services (Twitch IVS, Dolby Millicast, Phenix, etc.) target this space; open source “instant scalability” is seen as lacking.
  • Some propose chaining Broadcast Box instances into a tree for higher fanout.

Encoding, transcoding, and codecs

  • Broadcast Box relies on client-side simulcast: OBS sends multiple renditions; the server just forwards the selected layer.
  • Advocates say this avoids server transcoding latency/quality loss, reduces infra cost, and keeps servers from modifying content, enabling future end-to-end encryption.
  • Others note this increases CPU/GPU load on broadcasters, especially game streamers.
  • WebRTC is codec-agnostic; H.264/VP8 are common, H.265/AV1 are emerging (some require browser flags).

Cloud gaming vs livestreaming

  • Cloud gaming usually involves one server–one client with minimal buffering and often GPU-assisted zero-copy pipelines.
  • Broadcast-style streaming adds server-side fanout, CDNs, ABR logic, and more buffering, making similar latencies harder.

Real-world use cases and experiences

  • Suggested uses: co-streaming, “backstage” feeds, remote RPG sessions, collaborative work, and small intimate audiences.
  • Some report good low-latency remote-desktop/gaming via Moonlight/Sunshine; others insist even 40 ms added latency is very noticeable for competitive play.
  • A user seeking a self-hosted family video chat alternative hears suggestions like using Broadcast Box, Galène, Jitsi (self-hosted in a nearer region), or Cloudflare as WHIP target.

NAT, TURN, and connectivity

  • One commenter argues WebRTC is often unusable behind symmetric/CGNAT without TURN; others counter that many one-way or SFU-based setups work fine without public TURN, and large services may rely on their own relays or TCP fallbacks.
  • Running an SFU or Broadcast Box on a public VPS is presented as a practical way to avoid TURN for group viewing.

Latency measurement skepticism

  • Linked article on “how to lie about latency” triggers debate: photos of clocks are criticized as cherry-picking best-case frames; some emphasize P99 latency over minimums.
  • Others describe long-term streams where poorly configured ffmpeg pipelines accumulate “latency creep,” versus professional encoders that reportedly do not.