Streaming Infrastructure

How to size bandwidth for live streaming

A practical method for estimating streaming bandwidth from bitrate, concurrency, overhead, and headroom.

Publisher: BryskBitsUpdated: 2026-11-132 min read

Start with bitrate and concurrency

The first calculation is simple: expected concurrent viewers multiplied by stream bitrate. A 6 Mbps stream watched by 1,000 people creates a 6 Gbps base egress load before overhead.

Use the busiest expected window, not the monthly average. Streaming infrastructure usually fails during peaks, cache misses, or popular events rather than during normal traffic.

Add practical headroom

Leave capacity for protocol overhead, player retries, origin fetches, monitoring, OS traffic, and growth. A port that looks sufficient on a spreadsheet may still be uncomfortable if it runs close to saturation every evening.

If normal peak demand sits above roughly two thirds of the port, compare the next bandwidth tier or split the workload across a pool.

Check the other bottlenecks

Bandwidth is only one constraint. Disk read throughput, cache hit ratio, CPU, GPU, middleware behavior, and viewer ISP paths can all limit delivery.

For direct streaming, storage and network usually dominate. For transcoding, CPU or GPU capacity often becomes the first limit.

Worked example: 1,500 viewers at 8 Mbps

If the server sends every viewer an 8 Mbps stream, the video payload is 1,500 × 8 ÷ 1,000 = 12 Gbps. To keep one quarter of a port free, divide by 0.75: the payload alone needs a 16 Gbps port budget. Add measured audio and protocol traffic if your bitrate excludes them.

That rules out a single 10 Gbps port for this example. A 20 Gbps server is a candidate, not a promise of 1,500 sessions. If a CDN serves the viewers, replace viewer egress with the traffic the edges actually fetch from the origin.

Questions & answers

Live streaming calculations

Browse all topics
Should I add every video rendition for each viewer?

For adaptive playback, a viewer generally downloads one video rendition at a time. Use the observed mix of delivered bitrates for viewer egress. Account for ingesting or distributing a whole rendition ladder separately.

Why does player traffic exceed the video bitrate?

Audio, container overhead, retries and parallel requests can all add traffic. Compare the calculated payload with interface counters over the same busy interval.

What changes when a CDN is in front of my origin?

The origin feeds cache misses and revalidations rather than every viewer directly. Measure origin egress during cold starts and popular releases as well as normal cache hits.

Why can a daily average hide a capacity problem?

A short live event can fill a port while the rest of the day is quiet. Size the port using busy intervals and the transfer allowance using the entire billing period.

Do I count ingest traffic in viewer egress?

Track it separately. Incoming feeds use ingress and outgoing copies use egress; check whether the agreement counts either or both toward a transfer allowance.