Why your latency budget comes first
“Make it low latency” isn’t a requirement—it's a budget. Before you pick a protocol, define how much end-to-end (glass-to-glass) delay you can afford for your use case and scale. Typical bands:
- Ultra-low interactivity (sub-500 ms): live conversations, talent coaching, remote production talkback, auctions with rapid bidding, watch parties with synchronized reactions.
- Low latency (1–2 seconds): sports with realtime betting overlays, e-commerce demos with chat and buy buttons, town halls with near-live Q&A.
- Near-live (2–5 seconds): large-scale broadcast, gaming tournaments for mass audiences, worship and events with relaxed interactivity.
Your latency budget has many components:
- Capture and encode: camera → encoder pipeline (tens to hundreds of ms depending on codec and settings).
- Contribution transport: how the encoder reaches the first server (e.g., SRT, RTMP). Adds on the order of network RTT and recovery buffers.
- Transcode/packaging: ABR ladder generation, fMP4 muxing, playlist/manifest updates.
- Distribution: CDN origin → edge → player, plus caching behavior.
- Playback buffer: the player must hold some media to avoid rebuffering.
This post puts three popular options—Low-Latency HLS (LL‑HLS), WebRTC, and SRT—side by side. These are often mentioned together but solve different parts of the chain. Consider this your “streaming protocols compared” field guide for selecting the right tool for your latency budget.
Quick primers
What is LL‑HLS?
Low-Latency HLS is an extension of HLS that delivers partial segments (typically 200–500 ms chunks) with playlist delta updates and preload hints. It keeps the HTTP and CDN-friendly nature of HLS while cutting latency markedly below legacy HLS. Players can maintain small buffers while still using ABR and commodity CDNs.
Typical audience playback latency at scale: on the order of 2–5 seconds with conservative settings; tuned deployments can approach ~1–2 seconds when networks are good and CDNs are configured appropriately.
What is WebRTC?
WebRTC is a realtime media stack optimized for sub-second interactive delivery. It uses DTLS-SRTP encryption, ICE/STUN/TURN for NAT traversal, congestion control, and often an SFU (Selective Forwarding Unit) for multiparty fan-out. WebRTC shines for two-way or tightly interactive experiences. Its challenge is global broadcast scale: you can scale it with SFUs, but you won’t get CDN cache economics—you’re running active media servers.
Typical audience playback latency: hundreds of milliseconds on good paths; commonly ~150–700 ms one-way under load, with occasional excursions depending on RTT and congestion.
What is SRT?
Secure Reliable Transport is a UDP-based contribution protocol with ARQ-based loss recovery and optional FEC. SRT is not a browser playback protocol. Think of it as the resilient hose you use to get content from encoders or remote venues to your first server, or between data centers. It’s codec/container agnostic (often MPEG-TS), supports AES encryption, and handles variable networks (public internet, cellular) well.
Typical one-way transport latency: roughly on the order of one to a few RTTs plus the configured recovery buffer (commonly ~80–500 ms), tunable via the latency parameter. End-to-end viewer latency depends on what you use for egress (e.g., LL‑HLS or WebRTC).
Latency envelopes at a glance
- WebRTC: best for sub-second interactivity. You pay with server-side fan-out and more active control-plane work (SFUs, TURN for relays when needed).
- LL‑HLS: best for large broadcast scale with low latency. Delivers ABR over CDNs and works well for 1–3 second targets, sometimes lower with careful tuning.
- SRT: best for contribution and backhaul. Pair it with LL‑HLS for broadcast audiences or with WebRTC for interactive segments.
Capabilities and tradeoffs (comparison table)
| Dimension | LL‑HLS | WebRTC | SRT |
|---|---|---|---|
| Role | Audience delivery over HTTP | Interactive audience delivery | Contribution/backhaul transport |
| Typical glass-to-glass at scale | ~1–5 s (tunable) | ~0.2–1 s | Depends on egress protocol |
| Browser playback | Native Safari; other browsers via MSE players | Native in all major browsers | Not a browser protocol |
| ABR | Yes (HLS ladder, CMAF/fMP4) | Via simulcast/SVC; player-level ABR uncommon | Not applicable (encoder-driven) |
| CDN cacheability | Excellent | Poor (active SFU/relay needed) | Not applicable (point-to-point) |
| Congestion control | HTTP/TCP + player heuristics | Built-in realtime congestion control | ARQ/FEC with tunable recovery buffer |
| NAT traversal | Standard HTTP(S) | ICE/STUN/TURN | Rendezvous mode; NAT-friendly but may require port rules |
| Encryption | HTTPS + CMAF CENC/DRM | DTLS-SRTP | AES-128/256 at transport layer |
| Scale economics | CDN-friendly, cost-effective | Server-intensive beyond small/medium rooms | Efficient for ingest hops |
| Best for | Broadcast with chat, near-live commerce, sports | Watch parties, auctions, coaching, telemedicine | Remote contribution, venues → cloud/origin |
WebRTC vs SRT: they’re complements, not competitors
The phrase “webrtc vs srt” is misleading. They address different problems:
- WebRTC is for realtime delivery to end users and contributors inside the browser or native apps using the WebRTC stack. It requires an SFU/MCU to scale beyond 1:1.
- SRT is for resilient carriage of a stream between endpoints (encoder ↔ server ↔ server). It’s superb for first-mile and mid-mile, regardless of what you use for last-mile.
A common architecture: ingest from the field over SRT, transcode/package centrally, egress to viewers via LL‑HLS for the masses and WebRTC for interactive hosts or VIPs.
Choosing by scenario and budget
Ultra-low budget (sub-500 ms)
- Likely choice: WebRTC end-to-end.
- Architecture: Contributors publish via WebRTC or SRT to a server; server relays via an SFU to viewers. For broadcast-style scale, use regional SFUs and geo-routing.
- Tradeoffs: Highest operational complexity and cost per concurrent viewer, but it meets the strictest latency targets.
Low-latency broadcast (1–2 seconds)
- Likely choice: LL‑HLS with partial segments and small player buffers.
- Architecture: Ingest via SRT/RTMP; transcode to a CMAF ladder; package LL‑HLS with ~200–500 ms parts; distribute via an LL‑HLS-capable CDN.
- Tradeoffs: Excellent scale and ABR with predictable costs. Latency can drift if CDNs or players fall back to larger buffers in poor networks.
Near-live at massive scale (2–5 seconds)
- Likely choice: LL‑HLS with conservative part counts and standard CDN caching.
- Architecture: Standard broadcast ABR ladder, longer parts (e.g., 500–1000 ms), slightly larger hold back for resilience.
- Tradeoffs: Extremely cost-effective at global scale while still feeling “live enough” for most broadcast workflows.
Tuning guidance per protocol
LL‑HLS tuning
- Part duration: 200–500 ms parts are a good starting point. Shorter increases request overhead; longer raises latency.
- Target duration and segment size: Keep target durations low (e.g., 1–2 seconds) and ensure consistent GOP alignment across renditions.
- Playlist strategy: Use delta updates and preload hints. Ensure players request blocking playlist reloads so they learn about parts immediately.
- Hold back and part hold back: Set small but safe buffers (often a few parts). Too small increases rebuffering; too large wastes your budget.
- CDN behavior: Favor HTTP/2 or HTTP/3, enable caching for partial segments and playlist deltas, and validate that edge TTLs aren’t forcing stale manifests.
- Player buffer: Many players default to safer buffers; expose config to stay near your target latency in good network conditions while allowing elastic growth when needed.
WebRTC tuning
- SFU configuration: Enable NACK/PLI, consider light FEC at edges with known loss, and size SFUs by bitrate × participants, not just connection counts.
- Codecs and layers: Use H.264 for broad device compatibility; add simulcast or SVC for adaptive delivery between participants.
- Bitrate caps: Right-size for the use case (e.g., 720p at a few Mbps for interactive; avoid bloating rooms with unnecessary 1080p+ layers).
- TURN relays: Budget for TURN in restrictive enterprise networks; it’s critical for connectivity guarantees.
- Recording/transcode: If you need VOD or ABR archive, plan a sidecar recording/transcode path; WebRTC frames may need remux/transcode.
SRT tuning
- Latency parameter: Start at roughly 2× RTT and adjust. Higher values improve loss recovery on poor networks but add delay.
- ARQ vs FEC: ARQ is common; FEC can help in burst-loss environments at the cost of bandwidth. Test on real links.
- Bonding/backup: Use multiple SRT senders across independent ISPs where possible; failover can be near-immediate if your receiver is ready.
- Encryption and passphrases: Enable AES; manage keys securely. Confirm that intermediate hops can pass UDP traffic reliably.
Codec and DRM considerations
- LL‑HLS: Works well with H.264/AAC and newer codecs like HEVC and AV1 in CMAF/fMP4. Integrates with DRM via Common Encryption; Safari uses FairPlay; MSE players can use Widevine/PlayReady via EME.
- WebRTC: Ubiquitous H.264 and VP8 support, with VP9 and AV1 increasingly available. DRM is not part of the model; security is transport-level (DTLS-SRTP). For protected streams to browsers at scale, LL‑HLS with EME is usually preferred.
- SRT: Codec/container agnostic. You choose the encoder settings; the viewer DRM story depends on the last-mile protocol (e.g., LL‑HLS).
Architectures that blend protocols
- SRT ingest → LL‑HLS egress: Common for stadiums, remote venues, and mobile encoders. Achieves resilient first mile with scalable audience delivery.
- WebRTC hosts ↔ SFU ↔ LL‑HLS audience: Give presenters sub-second confidence feeds while sending the same content to the crowd at ~1–3 s.
- SRT ingest → WebRTC rooms: For talent coaching or contribution mixing where studio operators need near-realtime confidence.
In each case, the point is to spend your latency budget where it matters: keep producers and on-air talent in tight sync, while giving general viewers a stable, scalable experience.
Operational and cost realities
- Engineering overhead: WebRTC requires always-on media servers and stateful control planes. LL‑HLS leans on your CDN and stateless HTTP.
- Observability: WebRTC needs end-to-end stats (RTT, jitter, loss, NACKs). LL‑HLS benefits from CDN logs and player QoE metrics (startup time, rebuffer ratio, live-edge distance).
- Failover: SRT simplifies first-mile redundancy. For last-mile, multi-origin LL‑HLS with health-checked DNS is common. WebRTC needs SFU pool health and fast room migration.
- Compliance and encryption: All three support encrypted transport. Only HLS/LL‑HLS integrates easily with browser DRM ecosystems for protected broadcast content.
Where Nighthawk fits
Nighthawk Server provides SRT/RTMP/RTSP ingest, HLS and WebRTC delivery, ABR transcoding, recording/DVR, and origin–edge clustering. If you want to own your infrastructure, Nighthawk’s perpetual license means you buy once and run it on your servers without ongoing software rent. For teams that prefer a fully-managed option, Nighthawk Cloud offers pay-as-you-go with the same building blocks.
In practice:
- Use Nighthawk for SRT contribution from the field, perform ladder transcoding, and package Low-Latency HLS for the audience.
- Spin up WebRTC for VIPs or hosts who need sub-second interactivity, while keeping the main crowd on LL‑HLS over your CDN.
Decision checklist
- What is your hard latency budget for the viewer? Sub-500 ms → WebRTC; 1–3 s → LL‑HLS; more than 3 s → standard HLS/LL‑HLS with larger buffers.
- Do you need two-way interactivity at scale? If yes, budget for SFUs and TURN.
- How important is ABR and DRM to browser playback? That generally points to LL‑HLS.
- Is your first mile variable or lossy? Use SRT for contribution.
- Are CDN economics critical? Favor LL‑HLS for last-mile.
Call to action
If you want a practical path to hit your streaming latency budget, try Nighthawk. Run Nighthawk Server with a perpetual license for full control, or launch Nighthawk Cloud to get started quickly without managing servers. Ingest over SRT, deliver over LL‑HLS or WebRTC, and scale with origin–edge clustering and ABR transcoding—all in one stack. Learn more at https://nighthawk.tv.
FAQs
Is LL‑HLS fast enough for live auctions or betting?
It can be, if your target is around 1–2 seconds and networks are stable. For sub-second bidding windows or synchronized reactions, WebRTC is safer. Many deployments run presenters on WebRTC and the mass audience on LL‑HLS.
When should I use SRT instead of RTMP for ingest?
Use SRT on unpredictable networks (public internet, cellular) or over long distances. Its ARQ-based recovery and tunable latency handle loss and jitter better than RTMP. RTMP can still be fine in controlled LAN/WAN environments.
Do all browsers support Low-Latency HLS?
Safari supports LL‑HLS natively. Other modern browsers can play it via MSE-based HLS players that implement LL‑HLS behaviors (partial segments, delta manifests, preload hints). Verify your chosen player’s LL‑HLS capabilities.
Can WebRTC do ABR like HLS?
WebRTC doesn’t use manifest-based ABR. Instead, SFUs can send different simulcast/SVC layers per subscriber. It’s adaptive, but the mechanism and operational overhead differ from HLS-style ladder switching.