m3u8.com · total cost

What your service would cost to run

Describe your library and how it is watched. The page prices a month of running it on bokeh and Cloudflare, every line of the bill: delivery, storage, making segments on demand, and the R2 cache that keeps a segment only while that is cheaper than making it again. See the cache live on m3u8.com, or price the same service on AWS.

Ladder
Advanced

One 8 s segment, as m3u8.com measured it on the day beside its name.

1080p60 carried 2026-10-01
720p60 avc1 2026-10-02
480p60 avc1 2026-10-02
1080p60 hvc1 2026-10-01
720p60 hvc1 2026-10-01
480p60 hvc1 2026-10-01
stereo AAC 2026-10-01

Month by month

Each month's cost over the next two years, as the library grows by the minutes added a month.

Where the money goes

linea month

How the cache decides what to keep

renditiona viewing's first segmenta later segment

Your long tail

answered by the CDNkept in R2made again by a containernever watched
The library's minutes, most watched first, and how often each is watched a month. Each strip below the curve is one rendition, coloured by where most of its requests there are answered.

What it assumes

  • A segment's size, encode cost and wait scale with its length from the 8 s measured; a production's fixed costs do not.
  • The library is titles of the average length under Advanced. A viewing starts at a title's first segment, and viewers leave at random, so the share still watching falls exponentially, with the average viewing under Advanced.
  • A viewer waits only for a viewing's first segment: prefetch makes the later ones ahead.
  • The share under Advanced of the titles is never watched. Among the rest of the titles of the same age, viewing spreads lognormally. A title's viewing falls by the same share each month, to the share under Advanced at a year. The top tenth's share is the whole library's, ages included.
  • Content arrives evenly and stays, and the library was built at the same rate. The tier makes a kept segment of new content once, when it is first asked for.
  • Month by month, the library grows by the minutes added and viewing stays at the hours given.
  • Requests arrive at random, and the CDN drops a segment the hours above after its last request.
  • Viewing splits 60/30/10 across 1080p, 720p and 480p, and audio goes with every view.
  • Costs, sizes and waits are what m3u8.com measured on 2026-10-01 and 2026-10-02, at Cloudflare list prices as of 2026-09-30, after what the Workers Paid plan includes.
  • A segment made again also pays the egress of its bytes from its container, 3 Durable Object requests and 4 reads of its mezzanine. The cache weighs these with its container's CPU, memory and disk, as m3u8.com's cache does.
  • The cache weighs a viewer's wait only on the misses viewers ask for, as m3u8.com's cache does. Here those are the misses of a viewing's first segment.
  • Instances take segments from a queue, and enough run to keep them 80% busy, so they idle a quarter as long as they spend making segments. The bill counts that idle time and each container's Durable Object for as long as it is awake. The cache weighs neither, since no production states its share.
  • The Worker spends 0.6 ms of CPU on every request and 3.1 ms more on each one the CDN misses, as measured.
  • Not counted: the playlists and init segments, uploading and analysing content, and the R2 cache's evaluation.