How to calculate bandwidth for HLS video hosting

A useful delivery estimate starts with bitrate, minutes watched and viewers—then replaces assumptions with the actual completion and rendition pattern of your audience.

Published

A dark instrument bench: a brass, square-bodied gauge with a pale dial and a single needle sits bolted to a steel plinth, a clear glass tube threaded straight through collars on either side. Inside the tube, one continuous strip of small illuminated film frames — violet and blue city and light-burst images — enters from the left and continues out to the right at the same size and spacing. Hand tools and machined blocks lie blurred in the background.
The stream is not changed by being measured — the same frames leave the gauge that entered it. Bandwidth is what that unchanged strip costs per second, multiplied by everyone watching.Illustration · DynTube illustration

The core HLS bandwidth formula

For an estimate in decimal units, convert delivered kilobits per second to kilobytes per second by dividing by eight. Multiply by 60 for each minute watched, then multiply by watch minutes and viewers. Divide kilobytes by 1,000,000 for GB or by 1,000,000,000 for TB.

formula
TB per month = ((average kbps / 8) * 60 * minutes watched * viewers) / 1,000,000,000

Example: 5,000 kbps delivered for one hour is about 2.25 GB per viewer. One thousand complete one-hour sessions at that average are about 2.25 TB. This is a transparent planning example, not a promise that every 1080p session uses that bitrate.

Use delivered bitrate rather than source-file size

An HLS player requests the rendition it can sustain from the outputs produced for the video. The original upload may be larger, smaller or encoded differently from what a viewer receives. Base the estimate on the likely average delivered bitrate across the audience.

Model watch time realistically

A play does not mean the full runtime was delivered. Product demos, lessons and long events have different completion patterns. Build at least three scenarios: an early exit, your expected average watch time and a full completion. If you already host the library, use its observed watch time.

Account for adaptive playback

Viewers move between available renditions as connection and buffer conditions change. A mobile audience may spend more time on lower rungs; viewers on large displays and strong networks may receive higher ones. Test a low, expected and high average bitrate rather than pretending one resolution maps to one fixed number.

Separate normal months from peak months

Course launches, product announcements and scheduled releases can concentrate viewing. Calculate the typical month and the busiest credible month separately. Capacity chosen only from a yearly average may be least accurate when the content matters most.

Keep video storage out of the delivery formula

Storage represents the library retained in the account. Delivery represents media transferred to viewers. A large archive can receive little traffic, while one popular video can generate substantial delivery. Estimate and price the two dimensions independently.

Live-stream delivery uses the same viewing inputs

For a live event, use concurrent viewers, the broadcast duration and the likely delivered bitrate. Repeat viewers and a recording viewed later belong in separate on-demand estimates. Live plans also have their own stream and configuration dimensions, so use the live pricing path for the complete decision.

Improve the estimate after launch

  • Read actual plays, watch time and delivery from the account rather than relying on page visits.
  • Compare the average with campaign, cohort and release-day peaks.
  • Inspect which video titles drive the largest share of delivery.
  • Review playback quality before lowering bitrate solely to reduce usage.
  • Update the forecast when the catalogue, audience or viewing length changes.

Choose a plan with current figures

Run the scenarios in the DynTube bandwidth calculator, then compare the result with the storage and monthly delivery on the current pricing cards. For workloads beyond the standard bands, the custom estimator accepts storage and delivery separately and publishes the custom per-TB inputs.

Work through more than one audience scenario

For a course, compare enrolled learners watching half a lesson with a cohort completing every lesson. For a product library, separate short demo views from long onboarding sessions. For an event recording, model the release week and the quieter archive period. These scenarios reveal which assumption drives the result and make growth easier to forecast.

Keep a simple forecasting record

Save the viewers, watch minutes, average bitrate and peak factor used for the estimate. Each month, compare those inputs with actual delivery and update the one that changed. A short record prevents a later plan decision from being based on an unexplained calculator result and gives the team a consistent model for new campaigns and catalogues. Keep the normal and peak versions together so budget owners can see the range behind the selected capacity.

Put your video on your own terms

Host, protect, deliver and measure your video under your own brand, on the sites and apps you already run.