CDN Live Streaming With WpStream

CDN for Live Streaming: How It Works and Why It Matters

Last updated: June 28, 2026

You press Go Live and somewhere a counter starts climbing. Five hundred viewers. Two thousand. Five thousand, all watching the same second of video at the same moment. Here is the uncomfortable part: the one server that captured and published your stream physically cannot hand that same second to five thousand people at once. That is not a bug you can patch or a setting you forgot to flip. It is arithmetic. A CDN for live streaming exists to solve exactly that, and understanding why it matters starts with understanding what breaks without it. The short version is that a content delivery network spreads the load of viewers times bitrate across a global fleet of servers instead of crushing one origin. Everything else about cdn video delivery, the latency, the multi-CDN setups, the cost, hangs off that single problem.

What a CDN actually does for live video

Cloudflare’s own definition is the clean one: a CDN is a geographically distributed group of servers that speeds up delivery by caching content closer to users. For live video, “closer” is the whole game. The further your viewer sits from the machine answering them, the more hops and milliseconds stack up before a frame paints.

Trace the path the bytes travel and the structure makes sense. Your encoder pushes the stream into an ingest point, which feeds the origin, the authoritative source copy. From there the video fans out to edge servers, the machines that answer nearby viewers, and those edge servers live inside PoPs, the physical data-center locations a CDN operates worldwide. A PoP is a place on the map, and an edge server is one of the machines humming inside it. Keep the two distinct and the rest of this article reads cleanly.

How does a given viewer reach the nearest edge instead of the origin halfway around the planet? The network decides for them. Some CDNs use DNS-based routing, where the CDN answers the viewer’s DNS lookup with the address of an edge near their location. Others use Anycast, where many edges announce the same IP address and routing simply delivers each viewer to the closest one. Both land you in the same place: a server near the viewer, not the origin.

This is the honest fork in the road: you can build a streaming server and run your own origin, or lean on a CDN and trade some control for reach. But the CDN does not make the origin optional, and it does not come free.

Why one server cannot do it: the fan-out math

Here is the calculation almost nobody actually shows you. The outbound bandwidth a live stream demands is roughly the stream’s bitrate multiplied by the number of people watching at once:

Total outbound bandwidth (approximately) = stream bitrate times peak concurrent viewers.

Run two rough illustrations, and treat them as the shape of the problem rather than a bill. A 3 Mbps stream served to 100 concurrent viewers needs about 300 Mbps of egress. Bump that to a 4 Mbps stream and 5,000 viewers and you are asking one machine for about 20 Gbps, which exceeds any single server’s realistic output.

Now the punchline. A typical web or VPS uplink tops out around 1 Gbps. A single 4 Mbps stream therefore saturates that link at roughly 250 viewers (an easy ceiling to blow past the moment your stream goes regional), and that is before processor load and network-stack limits enter the picture. Treat that 250 figure as an illustration tied to the 1 Gbps and 4 Mbps assumptions, not a hard number. The fact is: a single origin hits a wall measured in hundreds of viewers, not thousands.

One honest caveat: adaptive bitrate means not every viewer pulls the top rendition, so actual egress usually lands below the worst case, while protocol overhead nudges it back up. That is why a CDN exists for live: it turns one server’s uplink into the aggregate capacity of hundreds of PoPs.

How a CDN caches a live stream

Live delivery chops your stream into short media segments, a couple of seconds of video each. The CDN caches every segment at the edge the instant it is created. The first viewer in a region triggers exactly one pull from the origin, and every other nearby viewer is served the cached copy. That is the precise moment the fan-out collapses: thousands of requests for the newest segment, one trip back to origin.

The contribution side feeds this. Your encoder pushes video into ingest using a contribution protocol, most often the RTMP protocol, and only after the stream reaches the origin does the CDN take over delivery. Ingest and delivery are two different jobs, and conflating them is where a lot of confusion about live CDNs starts.

Live also caches astonishingly well, better than most on-demand content. Live segment cache-hit ratios commonly run 95 to 99 percent, against roughly 5 to 30 percent for a large on-demand catalog. The reason is intuitive: in live, everyone is watching the same handful of newest segments at the same instant, so one cached copy serves the whole crowd. A back catalog scatters viewers across thousands of old files, and the hit rate craters.

Fastly documents origin shielding well: requests for an uncached segment funnel through a single designated shield PoP before touching the origin, so the origin sees one request per segment no matter how many edges need it. Request collapsing merges simultaneous misses for the same segment into a single origin fetch, protecting a live origin from a stampede when a hot segment expires.

Latency: the win and the tradeoff

Putting content near the viewer cuts the physical distance and number of hops, which trims delivery latency. That is the standard CDN benefit.

The tradeoff is the half that beats most of the search results. Over HLS or DASH, the dominant latency cost is not geography at all. It is segment duration. Traditional six-second segments produce roughly 20 seconds of glass-to-glass delay, because a player buffers a few segments before it starts. Apple’s Low-Latency HLS attacks this with partial segments, parts only a few hundred milliseconds long. The protocol targets sub-2-second glass-to-glass latency while preserving CDN-scale delivery, pulling real-world delay into the rough range of 1.5 to 3 seconds. That is the industry-consensus target for the protocol, not a guarantee from any one platform.

Going low-latency carries a cost. Lower latency means many small files instead of a few big ones. The edge must serve far more requests per second without head-of-line blocking, requiring HTTP/2 or HTTP/3, and the live playlist needs a near-zero cache lifetime so players always see the freshest version while media segments cache longer. So lower latency equals more requests equals more cache load. Our guide to low latency streaming walks the full tradeoff.

Multi-CDN: redundancy and reach, not a free lunch

Multi-CDN means delivering through two or more CDN providers at the same time, with traffic steered between them by DNS or Anycast load balancing plus health checks. That is the whole mechanism in one sentence, so let us talk about why anyone bothers.

The primary reason is failover. A single provider is a single point of failure, and when it degrades, every viewer degrades with it. Run two providers and if one starts dropping segments, traffic reroutes to the other within seconds. And the secondary reason is regional coverage: you route each region to whichever CDN is genuinely fastest there. A network advertising 300 PoPs but with weak presence in Southeast Asia is useless to a Bangkok audience, and a second provider can fill exactly that gap.

But here is the honest caveat, because this is not a free lunch. Aggressive failover can manufacture the very instability it is meant to prevent. Switch providers abruptly mid-playback and you can interrupt the stream you were trying to protect, so multi-CDN needs gradual switching logic rather than a hair-trigger. It also means two egress bills and more operational surface. It is insurance, and insurance carries a premium.

How to choose a CDN

Order your criteria by what actually matters for live, not by what looks impressive on a feature grid.

  1. Coverage where your viewers are, not raw PoP count. Total PoP count is a vanity metric. Benchmark candidates on P95 TTFB from the regions where 80 percent of your viewers actually sit. More PoPs generally helps, but real presence in your most important regions beats a bigger global headline number every time.
  2. Cost per GB, and how it is billed. Retail egress typically runs $0.04 to $0.12/GB and varies by region (as of June 2026, so confirm before buying), with committed enterprise rates going lower. Watch for providers with no public pricing at all (a red flag) and minimum-commit contracts that punish you on both overage and underuse.
  3. Live-specific features. Live-to-VOD, low-latency support, origin shielding, token authentication and DRM, and real quality-of-service analytics. Not every CDN treats live as a first-class workload, and the ones that do not will show it the first time a segment expires under load.
  4. Latency capability. Confirm HTTP/2 or HTTP/3 and chunked transfer, the table stakes for sub-three-second live. A CDN without them caps how low your latency can go regardless of segment size.
  5. Reliability and failover. A real SLA and a clean failover story, which ties straight back to the multi-CDN section above.

For rough price anchoring, here are a few public reference points. Figures below are June 2026 list prices and change often, so treat any cost math as illustration.

Provider Per-GB (retail, NA/EU) Coverage Note
Bunny.net Standard from about $0.01/GB 119 PoPs / 77 countries $1/mo minimum, pay-as-you-go
Cloudflare not publicly metered 300+ cities core CDN proxy egress effectively unmetered; per-GB egress applies to specific products (R2, Stream) only; enterprise-negotiated
Akamai about $0.01 to $0.02/GB above 1 PB/mo 4,100+ locations enterprise-negotiated; no public rate card

One more honest question before you sign anything: do you even need a CDN yet? If you are serving a few hundred local viewers from a strong host, you may genuinely not. If you are pushing into the thousands, spanning multiple regions, running mostly on mobile, or carrying real security and compliance needs, the fan-out math forces the issue and you almost certainly do. A single-region origin and a modest audience can wait; global reach and a growing crowd cannot. Sometimes the right answer really is “not yet.”

Where WpStream fits

Full disclosure first: WpStream publishes this article, so read what follows knowing that. The fit is the natural payoff to the math you just did. The point of WpStream is that you broadcast live from your own WordPress site without running origin bandwidth yourself. You did the 20 Gbps calculation a few sections ago and realized your host cannot do it. The answer is not to go negotiate an Akamai contract.

WpStream’s infrastructure provides multi-CDN delivery across multiple continents and adaptive bitrate out of the box. The fan-out problem from section two, multi-CDN failover, and adaptive bitrate all arrive solved without you architecting any of it. WpStream’s live delivery lands in the few-seconds range.

Before a big broadcast, run the WpStream speed test rather than a generic one, because it measures against the actual ingest infrastructure your stream will use. Test at your real peak hour, and plan to broadcast comfortably below the upload rate it reports rather than right at the ceiling. If you want to see the plans, WpStream lays them out directly.

Key Takeaways

  • A CDN spreads live video fan-out across a global edge network instead of overwhelming one origin server.
  • A single 1 Gbps uplink saturates at roughly 250 concurrent viewers on a 4 Mbps stream; a CDN removes that ceiling.
  • Live segment cache-hit ratios commonly reach 95 to 99 percent because all viewers pull the same newest segments at once.
  • Segment duration, not geography, dominates glass-to-glass latency; Low-Latency HLS targets 1.5 to 3 seconds at scale.
  • WpStream bundles multi-CDN delivery and adaptive bitrate across continents so you never negotiate a CDN contract separately.

Frequently asked questions

Is a CDN the same as caching?

No. Caching is the technique, storing a copy of content closer to whoever requested it, while a CDN is the distributed network of edge servers that performs that caching at global scale. WpStream’s delivery rides on a multi-CDN, so the caching happens across continents automatically.

Do I really need a CDN for a small live stream?

If you are serving a few hundred local viewers from a strong host, maybe not yet, but once you cross into thousands or multiple regions the fan-out math forces the decision. WpStream includes the CDN layer either way, so you never have to predict the exact crossover point.

Does a CDN reduce live latency?

It cuts the geographic part of the delay, but segment size dominates glass-to-glass latency, so a CDN alone does not turn a stream low-latency. WpStream’s HLS delivery lands in the few-seconds range.

What does CDN bandwidth cost for live?

Retail egress runs roughly $0.01 to $0.12/GB depending on provider and region, billed on data delivered, at June 2026 rates. With WpStream the delivery is bundled into the plan, so there is no separate per-GB CDN invoice to track.

What is multi-CDN, and do I have to set it up?

Multi-CDN is delivering through more than one CDN provider for failover and regional reach, normally steered by DNS or Anycast with health checks. WpStream already runs multi-CDN across continents, so you get the redundancy without configuring any of it.

The work should be invisible

The fan-out problem is not going anywhere, and it gets sharper as viewer expectations push toward lower latency. Smaller segments, more requests, more cache pressure. The direction of travel is delivery managed for you rather than hand-built per event, because the gap between running one origin and running a hundred PoPs only widens. The goal has not changed: the enormous work of getting one second of video to thousands of people at the same instant should be invisible to the person pressing Go Live. If you are weighing how low you can push the delay without breaking the cache, that is the next thread to pull.