Posted on Mar 22, 2026 · Updated Mar 22, 2026 · 12 min read

Video Streaming Cloud Costs: AWS, Azure, GCP Pricing (2026)

Video hosting on cloud infrastructure is not like hosting a web app. The cost structure is fundamentally different: a single one-hour video file generates dozens of transcoded renditions, sits in object storage forever, gets pulled through a CDN every time someone watches it, and requires an origin server to handle manifest requests and segment delivery. At 100 concurrent viewers the bill is manageable. At 10,000 concurrent viewers it can spiral past $50,000/month without a single architectural mistake — just the base cost of moving bits.

AWS, Azure, and GCP each publish per-minute transcoding rates and per-GB egress rates, but the real cost only becomes clear when you add up all four layers: transcoding, storage, CDN, and origin compute. This article does that math at multiple viewer scales and compares the three major providers, so you know what to expect before you commit to an architecture. You can model your specific scenario in the video streaming cost calculator.

TL;DR

CDN egress is the dominant cost at scale — not transcoding or storage. At 10,000 concurrent viewers watching 1080p video, egress alone runs $8,000–$15,000/month depending on provider and region. AWS MediaConvert + CloudFront is the most commonly used stack and has the deepest discounting at volume. GCP Transcoder API is cheapest for transcoding but has limited live streaming support. VOD costs 3–6x less per viewer-hour than live because content is cached at the CDN edge. The five biggest optimization levers are: per-title encoding, adaptive bitrate ladder tuning, CDN cache configuration, storage tiering, and origin right-sizing. Run your own numbers in the video streaming cost calculator.

Video player on a large monitor in a dark studio editing suite

What drives video streaming costs

Video infrastructure costs break into four distinct layers. Most teams focus on transcoding because it shows up as a discrete, invoiced line item — but at any meaningful viewer scale, transcoding is the smallest of the four. Understanding the full stack is the only way to avoid sticker shock when the bill arrives.

1. Transcoding

Every video you ingest must be transcoded into multiple renditions for adaptive bitrate (ABR) streaming. A standard ABR ladder for HLS or DASH delivery includes 6–8 renditions: 240p, 360p, 480p, 720p, 1080p, and sometimes 1440p and 4K, each at multiple bitrates. AWS MediaConvert charges $0.0075–$0.0150 per minute of output video depending on resolution (SD vs HD vs UHD). A one-hour source file transcoded to 7 renditions produces 7 hours of output — costing roughly $3.15–$6.30 per source hour on AWS. GCP Transcoder API charges $0.0050/minute for SD and $0.0100/minute for HD output — about 33% cheaper than MediaConvert for equivalent output.

Transcoding is a one-time cost per asset for VOD. For live streaming, it recurs every minute the stream is live, which changes the math significantly. A 24/7 live channel with a 7-rendition ladder at 1080p costs approximately $2,160–$4,320/month in transcoding charges alone on AWS.

2. Object storage

Transcoded video segments and manifests live in S3, Azure Blob Storage, or GCS. Storage costs are proportional to catalog size and rendition count. A one-hour video at standard ABR quality (7 renditions, average 2 Mbps) produces roughly 6.5 GB of stored segments. At $0.023/GB/month (S3 Standard), that's $0.15/month per hour of content. A library of 10,000 hours of content costs about $1,495/month in raw storage. More importantly, segment retrieval (GET requests) adds cost at $0.0004 per 1,000 requests — trivial per request, but significant at 100M+ segment fetches per day.

Storage is often overlooked because it accumulates quietly. An encoding pipeline that has been running for two years without a lifecycle policy can easily hold 50–200 TB of segments, costing $1,150–$4,600/month in S3 Standard — often for content that gets zero views. Moving cold VOD content to S3 Intelligent-Tiering or Glacier Instant Retrieval cuts that cost by 40–70%.

3. CDN egress

This is where video infrastructure gets expensive. Every viewer pulls video segments continuously from the CDN for the duration of their session. At 1080p with a 4 Mbps average bitrate, one viewer transfers 1.8 GB per hour. Ten thousand concurrent viewers each watching for 45 minutes transfer 13,500 GB — 13.5 TB — per hour. CloudFront charges $0.085/GB for the first 10 TB/month, dropping to $0.080/GB for the next 40 TB. Serving 13.5 TB/hour at peak generates CDN costs of roughly $1,148/hour, or over $27,000 per day if that peak runs continuously.

For a full breakdown of how CDN and data transfer pricing works across providers, see our cloud egress costs guide. The key difference for video is the sustained, high-bandwidth nature of the traffic — unlike web page assets, video segments stream continuously and cannot be compressed further.

4. Origin servers

Even with a CDN in front, origin servers handle cache misses, live manifest updates, authentication token validation, and DRM license requests. For VOD with a well-configured CDN, origin traffic is typically 5–15% of total viewer traffic — manageable. For live streaming, origin servers handle every viewer's first segment request and all manifest refreshes (every 2–10 seconds per viewer), which means origin load scales directly with concurrent viewer count.

A live stream with 10,000 concurrent viewers refreshing manifests every 6 seconds generates approximately 100,000 requests per minute to the origin. An EC2 c6g.2xlarge ($0.272/hr) handles roughly 5,000–8,000 req/sec under load — you need 2–3 instances minimum for that traffic, plus a load balancer ($0.008/hr + $0.008/LCU-hr). Origin compute for a 10,000-viewer live stream typically runs $500–$1,200/month for the serving tier alone, not counting the packaging (segmenter) layer.

Cost by scale: 100 to 100K concurrent viewers

To make the cost structure concrete, here are four representative tiers — small, medium, large, and very large — based on AWS MediaConvert + CloudFront + S3 as the reference stack, with VOD as the delivery model (live adds a multiplier discussed in the next section). All figures assume US-East-1 pricing, 45-minute average session length, 1080p at 4 Mbps average bitrate, and 8 hours/day peak concurrency (SpendArk estimates, March 2026).

Monthly Video Streaming Cloud Cost by Viewer Scale (VOD, AWS)US-East-1 · 45 min avg session · 1080p 4 Mbps · 8 hr/day peak$0$10K$25K$50K$75K~$180100 viewers~$1,4001K viewers~$13,50010K viewers~$115K100K viewersCDN egressOrigin + computeStorageTranscodingEstimates. Actual costs vary by bitrate, session length, cache hit rate, and volume discounts.
CDN egress dominates at every scale. At 100K concurrent viewers, egress accounts for roughly 70% of total monthly cost before volume discounts.

At the 100-viewer tier, a video platform is essentially free by cloud standards — roughly $140–$220/month all-in on AWS. Most of that is the baseline origin server (even a t3.small at $0.020/hr runs $14/month), storage for the content library, and minimal CDN transfer.

The 1,000-viewer tier is where teams start noticing cloud costs on a monthly basis. CDN egress becomes the largest line item. A 1,000-viewer platform serving 45-minute sessions for 8 hours/day transfers roughly 21.6 TB/month — $1,836 in CloudFront charges alone at standard rates, before volume discounts kick in (which start at 10 TB/month at a marginal $0.085/GB).

At 10,000 concurrent viewers, the monthly bill is $10,000–$15,000 depending on content type, bitrate, and CDN configuration. This is the tier where architecture decisions (per-title encoding, cache tuning, storage lifecycle) make a $2,000–$5,000/month difference. Use the video streaming cost calculator to model your specific bitrate, session length, and CDN provider.

At 100,000 concurrent viewers, the CDN bill alone can reach $80,000–$120,000/month at standard CloudFront rates. At this scale, direct CDN contracts (Fastly, Akamai) typically beat AWS CloudFront pricing by 40–60%, and multi-CDN routing to the cheapest provider per region is standard practice. AWS CloudFront Private Pricing (available at ~$500K+/year in CDN spend) offers negotiated rates below $0.020/GB in some regions.

Estimated Monthly Cost by Viewer Scale (AWS, VOD)Concurrent viewersCDN egress/moTotal est. cost/moCost per viewer-hr100 viewers~0.65 TB$140–$220$0.006–$0.0091,000 viewers~6.5 TB$1,100–$1,800$0.005–$0.00810,000 viewers~65 TB$10,000–$15,000$0.004–$0.006100,000 viewers~650 TB$85,000–$130,000$0.003–$0.005AWS US-East-1 standard rates · 8 hr/day peak · 1080p 4 Mbps · no volume discounts applied above 10 TB tier
Cost per viewer-hour falls slightly at scale due to CDN volume discount tiers — but the absolute bill grows linearly with viewer count until negotiated contracts apply.

AWS vs Azure vs GCP video pricing

All three major providers offer managed transcoding, object storage, and CDN. The pricing structures differ meaningfully, and the right choice depends on whether you already have spend commitments on a particular platform, your geographic distribution, and whether you need live streaming support.

AWS: MediaConvert + S3 + CloudFront

AWS MediaConvert is the most widely used managed transcoding service. Pricing is per minute of output video: $0.0075/min for SD (below 720p), $0.0150/min for HD (720p–1080p), and $0.0300/min for UHD (4K). A one-hour source file transcoded to a standard 7-rendition ABR ladder (3 SD + 4 HD) produces about 3 hours of SD output and 4 hours of HD output — costing ($0.0075 × 180) + ($0.0150 × 240) = $1.35 + $3.60 = $4.95 per source hour.

AWS Elemental MediaLive handles live ingest and encoding at $0.7656/hr for HD input (up to 1080p30) and $1.7225/hr for UHD. For a 24/7 live channel, MediaLive alone costs $549–$1,236/month before CDN or storage. CloudFront pricing starts at $0.085/GB (first 10 TB, US/Europe) and drops in volume tiers. AWS has the deepest ecosystem integration and the most tooling for video workflows, including Elemental MediaPackage for just-in-time packaging ($0.033/GB output) and MediaTailor for server-side ad insertion.

Azure: Media Services + Blob Storage + Azure CDN

Azure Media Services (AMS) charges for encoding in audio/video minutes: Standard Encoder at $0.015/min for HD output and $0.030/min for UHD. Pricing is comparable to AWS MediaConvert for HD but AMS includes audio encoding in the same rate. Azure Media Services also includes a streaming endpoint (origin server) that charges $0.11/hr when running — $79.20/month for a single standard endpoint running 24/7. This is a meaningful fixed cost that AWS does not have in the same form (AWS MediaPackage channels are cheaper at $0.033/GB processed).

Azure CDN (from Verizon or Akamai) charges $0.087/GB for the first 10 TB in North America — marginally higher than CloudFront. Azure Blob Storage is priced at $0.018/GB/month for Hot tier in LRS, slightly cheaper than S3 Standard ($0.023/GB). The Microsoft 365 and Azure enterprise agreement ecosystem makes AMS the natural choice for organizations already heavily committed to Azure.

GCP: Transcoder API + Cloud Storage + Cloud CDN

GCP's Transcoder API is the youngest of the three and has the lowest per-minute transcoding price: $0.005/min for SD and $0.010/min for HD output (Google Cloud, 2026). On a 7-rendition ABR ladder, the same job that costs $4.95/source-hour on AWS costs approximately $3.30/source-hour on GCP — a 33% reduction. For a large VOD library being freshly encoded, that difference is meaningful.

The tradeoff: GCP Transcoder API has limited live streaming support compared to AWS Elemental or Azure Media Services. Live streaming on GCP typically uses third-party packagers (Wowza, Nimble) deployed on Compute Engine, adding operational complexity. Cloud CDN prices start at $0.08/GB (first 10 TB, North America) — similar to AWS but without the same depth of volume pricing at the highest tiers. Cloud Storage is $0.020/GB/month for Standard class, between S3 and Azure Blob.

Video Infrastructure Pricing: AWS vs Azure vs GCPComponentAWSAzureGCPHD transcoding (per output min)$0.0150$0.0150$0.0100SD transcoding (per output min)$0.0075incl.$0.0050Object storage (per GB/mo)$0.023$0.018$0.020CDN egress first 10 TB (per GB)$0.085$0.087$0.080Origin/streaming serverMediaPackage $0.033/GBAMS endpoint $0.11/hrSelf-managed / 3rd partyLive streaming supportFull (MediaLive)Full (AMS)Limited (3rd party)Pricing as of March 2026 · US/North America regions · Standard tiers · Subject to change
GCP offers the lowest transcoding rate per minute. AWS has the most complete managed live streaming stack. Azure is most cost-effective for organizations with existing EA commitments.

For most new video platforms choosing a provider from scratch: AWS is the safest choice for live streaming; GCP is cheapest for pure VOD transcoding at high volume; Azure makes sense when the rest of the organization is already on Azure. CDN egress pricing differences between providers are under 10% at standard rates — the dominant optimization lever is volume, not provider selection.

For context on how video egress compares to other workload types, the cloud egress costs guide covers egress pricing in depth including the difference between CDN transfer, inter-region transfer, and internet egress — all of which appear on a video platform bill. For e-commerce teams adding video (product demos, lookbooks), see the notes on CDN cost overlap in the e-commerce cloud cost guide.

Live vs VOD cost differences

Live streaming and video-on-demand have fundamentally different cost profiles, even when serving the same number of viewers. The difference comes down to three factors: transcoding recurrence, CDN cache efficiency, and origin load pattern.

Transcoding: one-time vs continuous

VOD transcoding is a one-time cost per asset. Once encoded, the renditions live in storage forever and are served from CDN cache. A 1,000-hour library encoded once costs roughly $4,950 on AWS MediaConvert — a fixed capital cost, not a recurring monthly charge. The only recurring transcoding cost for VOD is re-encoding when you update quality presets or add new renditions.

Live transcoding recurs every minute the stream is live. AWS MediaLive charges $0.7656/hr for a standard HD channel with 2 pipelines (for redundancy). A live stream running 8 hours/day costs $0.7656 × 8 × 30 = $183.74/month in MediaLive input processing, plus the per-minute MediaConvert or MediaPackage output charges. A 24/7 live channel runs $549–$1,100/month in encoding costs alone before any CDN or storage charges.

CDN cache efficiency: high for VOD, low for live

A popular VOD title gets a high CDN cache hit rate — the same video segments are requested by thousands of viewers, and the CDN serves them from edge cache without hitting the origin. A well-configured VOD platform achieves 85–95% cache hit rates for popular content, meaning only 5–15% of viewer requests actually reach the origin server.

Live streaming has structurally lower cache hit rates because video segments are only a few seconds long (2–6 second HLS chunks) and new segments are continuously being produced. The CDN must fetch new segments from the origin frequently — at low latency targets, segments may be cached for only 2–4 seconds before expiry. This means CDN cache hit rates for live streams are typically 30–60%, versus 85–95% for VOD. The practical effect: live streaming requires more origin capacity per viewer and generates higher origin egress costs.

At 1,000 concurrent live viewers with a 40% cache hit rate, the origin handles 60% of segment requests — roughly 180,000 segment requests per minute if each viewer fetches a 2-second segment every 2 seconds. That's substantial origin load for a platform that might handle 1,000 viewers without breaking a sweat in VOD mode.

Cost multiplier: live vs VOD

Accounting for higher transcoding recurrence, lower cache hit rates, and increased origin load, live streaming typically costs 3–6x more per viewer-hour than VOD delivery of the same content. At 1,000 concurrent viewers:

  • VOD: $1,100–$1,800/month
  • Live (same viewer count, same bitrate): $4,000–$7,500/month

The gap widens further if you need redundant encoding pipelines (required for broadcast-quality live streams), DRM, or sub-10-second latency (which requires shorter HLS segments and even lower CDN cache TTLs).

Live vs VOD Monthly Cost at 1,000 Concurrent Viewers (AWS)Cost componentVODLiveTranscoding$0 (one-time, amortized)$550–$1,100/moCDN egress (~21 TB/mo)$1,785/mo (85% cache hit)$2,975/mo (50% cache hit)Origin / packaging$80–$150/mo$400–$900/moStorage$100–$200/mo$50–$100/mo (shorter retention)Total estimate$1,100–$1,800/mo$4,000–$7,500/moAWS US-East-1 · 8 hr/day viewing · 1080p 4 Mbps · 45 min avg VOD session
Live streaming costs 3–6x more per viewer-hour than VOD at the same viewer count, primarily due to lower CDN cache efficiency and continuous transcoding charges.

5 ways to reduce video hosting costs

Most video platforms have at least 25–40% recoverable cost in their infrastructure before any trade-off with quality or reliability. The five optimizations below cover the highest-ROI changes, ordered by impact. The video streaming cost calculator lets you model the impact of each one on your specific numbers.

1. Per-title encoding (savings: 20–40% on CDN egress)

Standard ABR ladders apply the same bitrate targets to every piece of content regardless of complexity. A static interview recording needs far fewer bits to look acceptable at 720p than an action sequence — but both get encoded at the same target bitrate. Per-title encoding (also called content-aware encoding) uses a pre-analysis pass to determine the optimal bitrate for each rendition of each title.

Netflix published research showing per-title encoding reduces average bitrate by 20% at equivalent quality (Netflix Technology Blog, 2015 — still applicable to the technique). A 20% bitrate reduction translates directly to a 20% reduction in CDN transfer volume, which at $0.085/GB becomes the largest single optimization available to most platforms. At 65 TB/month CDN transfer (10,000-viewer scale), a 20% reduction saves $1,105/month. AWS MediaConvert supports two-pass encoding; tools like FFmpeg with CRF encoding or Netflix's open-source VMAF tooling enable per-title optimization on self-managed pipelines.

2. Prune the ABR ladder (savings: 10–25% on transcoding + storage)

Most platforms encode 7–8 renditions by default, including 240p and 360p that account for under 5% of actual views. Each unused rendition wastes transcoding cost, storage cost, and manifest complexity. Analyzing your player analytics to find which renditions are actually selected by the ABR algorithm — versus never selected — typically reveals 1–2 renditions that can be dropped.

Dropping two renditions from a 7-rendition ladder reduces transcoding output by ~28%. On a library of 10,000 source hours being re-encoded annually, eliminating two renditions saves approximately $13,860/year in MediaConvert charges ($4.95 × 10,000 × (2/7)). More importantly, it reduces stored segments by 28%, cutting S3 storage costs proportionally. This is a zero-quality-impact change for the 95%+ of viewers who never select the dropped renditions.

3. Tune CDN cache headers for VOD segments (savings: $500–$5,000/mo depending on scale)

Video segments for VOD content never change after they're created — a segment from a video published in 2022 will always be identical. Despite this, many platforms set Cache-Control TTLs of hours or days on video segments, causing CDN nodes to re-fetch content from S3 after expiry. Setting immutable, long-TTL cache headers (Cache-Control: max-age=31536000, immutable) on .ts and .m4s segment files ensures CDN nodes never evict them until storage pressure requires it.

The impact depends on catalog depth and request distribution. A platform where 20% of content drives 80% of views (typical Pareto distribution) achieves very high cache hit rates naturally — but the long tail of less-popular content generates origin fetch costs. Combining long TTLs with CloudFront origin shield (an additional caching layer between edge and origin, $0.010/10K requests) reduces S3 GET charges for long-tail content by 70–90%.

4. Implement storage lifecycle policies (savings: $200–$2,000/mo)

Without lifecycle policies, transcoded segments accumulate indefinitely in S3 Standard. A platform encoding 100 hours/week with a 7-rendition ladder adds roughly 45 TB/year in S3 Standard storage — $1,035/month just for that year's additions, before the cost of prior years' content. Content that has not been viewed in 90+ days is a strong candidate for tiering.

A practical tiering strategy: S3 Standard for content viewed in the last 30 days ($0.023/GB), S3 Standard-IA for content viewed 30–90 days ago ($0.0125/GB), and S3 Glacier Instant Retrieval for content with no views in 90 days ($0.004/GB). For a platform with 50 TB of total stored content where 10 TB is active, 15 TB is recent, and 25 TB is cold, the tiered monthly storage cost is: (10 × $0.023) + (15 × $0.0125) + (25 × $0.004) = $0.23 + $0.1875 + $0.10 = $0.5175 × 1,000 = $517.50/month. Compared to $1,150/month if everything remained in S3 Standard — a saving of $632.50/month.

5. Right-size origin and packaging infrastructure (savings: $200–$1,500/mo)

Origin servers for VOD are frequently over-provisioned because they were sized for peak concurrency during launch, never revisited. A VOD platform with an 85% CDN cache hit rate only routes 15% of viewer segment requests to origin — if a platform peaks at 5,000 concurrent viewers, origin only handles the equivalent of 750 concurrent segment streams. That's far less than most teams assume when they provision 4–6 c6g.large instances "just in case."

Review origin CPU utilization over the past 30 days using CloudWatch. If average CPU is below 25% and peak CPU is below 60%, you have headroom to reduce the instance count or downsize the instance type. Dropping from 4 × c6g.large ($0.136/hr each) to 2 × c6g.large saves $195/month with no impact on capacity. If you're using AWS MediaPackage, review channel utilization — unused channels charge $0.033/GB of output regardless of whether viewers are watching.

Video Streaming Cost Optimizations: Impact SummaryOptimizationMonthly savings (10K viewer scale)EffortPer-title encoding$1,500–$3,000HighPrune ABR ladder$400–$900LowCDN cache header tuning$500–$2,000LowStorage lifecycle policies$300–$800LowRight-size origin servers$200–$600LowSavings estimates at 10,000 concurrent viewer scale on AWS US-East-1. VOD workload.
CDN cache tuning and storage lifecycle policies offer the fastest payback — both are configuration changes with no impact on viewer quality.

Frequently asked questions

How much does it cost to host video on AWS?

Hosting video on AWS costs roughly $0.005–$0.010 per viewer-hour at standard rates, depending on video bitrate, session length, and CDN cache hit rate. At 1,000 concurrent viewers, expect $1,100–$1,800/month for VOD delivery. At 10,000 concurrent viewers, $10,000–$15,000/month. The dominant cost driver is CloudFront egress at $0.085/GB (first 10 TB), not transcoding or storage. Use the video streaming cost calculator to estimate your specific scenario.

What is the difference in cost between AWS MediaConvert and GCP Transcoder API?

GCP Transcoder API charges $0.010/min for HD output versus AWS MediaConvert at $0.0150/min — about 33% cheaper per output minute. For a standard 7-rendition ABR job on a one-hour source file, AWS costs approximately $4.95 versus GCP at $3.30. At high VOD encoding volumes, GCP Transcoder can save tens of thousands annually. The tradeoff is that GCP Transcoder API has limited live streaming support compared to AWS Elemental MediaLive, and GCP has less ecosystem tooling for video workflows overall.

Why does live streaming cost more than VOD?

Three reasons. First, live transcoding recurs every minute the stream is active — there is no one-time cost. A 24/7 AWS MediaLive channel costs $549–$1,100/month in encoding alone. Second, live streaming has structurally lower CDN cache hit rates (30–60%) because video segments are only a few seconds long and constantly refreshed, so the CDN must fetch new segments from the origin frequently. Third, live manifests must be refreshed every 2–10 seconds per viewer, driving much higher origin request rates than VOD where cached manifests can be served by the CDN. Together, these factors make live streaming 3–6x more expensive per viewer-hour than equivalent VOD delivery.

At what viewer scale does it make sense to negotiate a CDN contract?

Direct CDN contracts with Fastly, Akamai, or Cloudflare typically beat AWS CloudFront standard pricing at $30,000–$50,000/month in CDN spend. That corresponds to roughly 30,000–50,000 concurrent viewers at 1080p 4 Mbps with standard session lengths. Below that level, CloudFront standard pricing plus AWS volume discount tiers is competitive. Above $500K/year in CloudFront spend, AWS Private Pricing agreements are available with negotiated rates that can drop to $0.020/GB or below in some regions.

How does video streaming egress compare to other cloud workload egress costs?

Video is among the highest-egress workload types in cloud infrastructure. A single viewer watching 1080p video for one hour transfers roughly 1.8 GB — the equivalent of approximately 18,000 typical web page loads. The CDN egress pricing ($0.085/GB on CloudFront) is the same rate as any other CDN traffic, but the sustained, high-bandwidth nature of video makes it far harder to optimize through caching or compression than API responses or web assets. For a broader look at how egress costs accumulate across workload types, see the cloud egress costs guide.

What are the biggest hidden costs in video streaming infrastructure?

Four costs surprise teams most often. First, AWS MediaPackage or Azure AMS streaming endpoint charges — these run even when viewer count is zero and add $79–$200/month as a fixed baseline. Second, S3 GET request charges for video segment fetches — at high view counts, millions of segment requests generate meaningful S3 API costs that do not appear in egress line items. Third, accumulated cold storage from years of encoded content that never gets viewed but stays in S3 Standard. Fourth, CloudFront origin shield request charges ($0.010 per 10,000 requests) which can add up at high view counts with low cache hit rates. All four are visible in the video streaming cost calculator.

Estimate your cloud costs — for free

Compare AWS, Azure, and GCP pricing side by side with our free calculator, and dig into the guides to learn how to cut cloud waste. No sign-up required.