Updated October 2026: AWS MediaConvert's normalized-minute encode pricing, CloudFront flat-rate plans and CDN request fees in the worked example, plus an OTT app cost-by-device table and a four-CDN price comparison.

Why this matters

If you are a founder, product manager, or first-time streaming CTO, the number you are usually quoted — "an OTT platform costs $150,000 to build" — answers the wrong question. The build is a one-time event; the platform then runs every month for years, and the monthly bill is where streaming businesses live or die. This article gives you the full cost model: the one-time build, the recurring run, the formula that drives each line, and a worked example with the arithmetic shown out loud. By the end you will be able to read any vendor quote, find the egress line (or notice it is missing), and sanity-check whether your planned subscription price actually covers the cost of serving a viewer. The companion spreadsheet lets you plug in your own catalog size, audience, and bitrate and see the monthly number move.

How much does an OTT platform cost? The short answer

An OTT platform costs $50,000–$90,000 to build as an MVP and $150,000–$350,000 as a standard custom platform, and then, in our model, roughly $0.50–$1.50 per viewer per month to run, most of it CDN delivery. The build is a one-time bill that scales with the number of devices you launch on. The run is a monthly bill that scales with watch-time × bitrate × audience. In the worked example below, a 2,000-hour catalog watched by 50,000 subscribers for 10 hours a month costs about $35,900 a month at October 2026 AWS list prices, or $0.72 per viewer, and CDN egress alone is about $29,200 of that.

Three numbers from this article are worth keeping in your head. OTT app development cost is driven by your device list: web, iOS and Android first, then each TV platform you add. Maintenance runs about 15–20% of the build cost every year. And egress on Amazon CloudFront in the US lists at $0.085 per GB falling to $0.020 per GB at petabyte scale (AWS pricing page, October 2026), which is why the run, not the build, decides whether the business works. If you want the stack, team and CDN math behind a build quote, our OTT platform development guide to stack, cost and CDN math covers that side; this article stays on the cost model.

The two cost shapes: build once, run forever

Every cost in an OTT platform falls into one of two buckets, and keeping them separate is the single most useful habit in this whole topic.

The first bucket is the one-time build: the engineering effort to create the thing. Designing and coding the viewer apps (web, phone, tablet, smart TV, streaming sticks), the back-end services (the catalog, the user accounts, the entitlement service that decides who may watch what), the billing integration, and the content-management tools your operators use. You pay this once to get to launch, then again in smaller increments as you add features. Think of it as the cost of constructing a shop: you pay to build it before you sell anything.

The second bucket is the recurring run: the monthly cost of keeping the platform serving video. Encoding new content, storing the encoded files, paying the content delivery network to deliver every stream, paying the digital-rights-management service for every licence it issues, and paying for the servers behind your apps. This bill arrives every month whether or not you ship a single new feature, and it grows as your audience grows. This is the shop's rent, electricity, and stock — and for a streaming business, the "electricity" bill is enormous.

The classic mistake is to treat the build quote as "the cost of the platform". It is not. It is the cost of the door. A platform that costs $200,000 to build can easily cost $200,000 a year to run once it has a real audience, and the run cost is the one that decides whether your unit economics work. We will price the build, then price the run, then put them together in a worked example.

A four-column table mapping what each stage of an OTT pipeline costs, with the figures from the worked example: a 2,000-hour catalog served to 50,000 viewers. The columns are pipeline stage, cost shape, what it is billed on, and the worked-example figure. Ingest is recurring, billed per GB received, and is not a line item. Encode is one-time, billed per normalized output minute, about $5,800 once at volume tiers ($10,800 at the flat first-tier HD rate). Store is recurring, billed per GB-month, $345 a month. Package is one-time, billed per title, folded into encode. DRM is recurring, billed per licence or monthly active user, $2,439 a month. Deliver (CDN) is highlighted as the biggest run line, billed per GB delivered, $29,215 a month. Player apps are build plus upkeep, billed per platform, $50k to $150k each. A closing line says build costs are paid once while run costs repeat every month and grow with the audience, and that delivery alone is about 81% of the monthly run in this example. Figure 1. The OTT cost map. Each box in the pipeline carries either a one-time build cost, a recurring run cost, or both; delivery (egress) is the recurring line that dominates everything else at scale.

The one-time build: what it costs to get to launch

The build cost is mostly engineering time, so it scales with how many surfaces you support and how custom the product is. Three rough tiers exist in the 2026 market, and they are wide ranges because "an OTT platform" can mean very different scopes.

A minimum viable product — web plus one or two mobile apps, a basic catalog, subscription billing, and a single content type — typically runs $50,000–$90,000 and takes four to six months. A standard custom platform for an entertainment business — multi-platform apps, personalization, content operations tooling, and proper CDN/DRM integration — typically costs $150,000–$350,000 and takes nine to fifteen months. These ranges come from current OTT-development market surveys; treat them as orientation, not a quote, because they swing with team rate, region, and scope.

OTT app development cost by device

The cost driver inside the build that surprises people is the device matrix. Living-room and mobile targets do not share one codebase, and each has its own store rules and certification. Quoted as fully separate native apps, agencies price them at $50,000–$150,000 per platform (Appinventiv market survey, 2026), but that figure assumes nothing is shared. In a real build the back end, the player logic and much of the UI are reused, so the honest way to read OTT app development cost is by code family: the first app in each family is expensive, the next one in the same family is much cheaper. "Which devices do we launch on?" is a budget question, not just a product question. We cover the device landscape in detail in the OTT client matrix.

Surface What the app is built in (2026) Reuse from other surfaces Effect on the build budget
Web playerHTML5, JavaScript, MSE/EME playerBase for Samsung Tizen and LG webOSAlways first; sets the player and DRM pattern
iOS + Android phones and tabletsSwift / Kotlin, or one cross-platform codebase (React Native, Flutter)Android code carries to Android TV / Google TVSecond big line; cross-platform cuts it, native gives the best playback control
Samsung Tizen, LG webOSHTML5 web apps packaged for each TV storeHigh: mostly the web player plus a 10-foot UI and remote-control navigationCheaper add-ons, but each store has its own certification
Android TV / Google TVKotlin, Media3/ExoPlayerHigh from the Android phone appModerate add-on
Amazon Fire TVFire OS (Android) apps, plus Vega OS on newer devices, which uses React Native (Amazon developer blog, July 2026)From the Android app on Fire OS; from a React Native codebase on Vega OSNow two targets on one brand; budget QA for both
Apple TV (tvOS)Swift / SwiftUI, AVPlayer, FairPlayPartial from the iOS appModerate add-on
RokuBrightScript and SceneGraphLow: its own language and UI frameworkUsually the most expensive single TV app per feature

Table 1. OTT app development cost by device: what each surface is built in and how much it can reuse. Count launch surfaces by code family, because each new family is a new build line.

To put a first number on your own device and feature list, our app development cost calculator prices platforms, features and integrations in a few minutes; treat its output as a starting range, then add the run cost from the model below.

One more build-adjacent recurring cost rides along with it: maintenance, which runs about 15–20% of the initial build cost per year for updates, OS-version compatibility, security patches, and the device-certification treadmill. A $250,000 build implies roughly $37,500–$50,000 a year just to keep the apps working as the platforms beneath them change. Budget it from day one; it does not go away.

The recurring run: the four lines that repeat every month

Now the bill that arrives monthly. It has four meaningful lines — encoding, storage, delivery, and content protection — plus the ordinary application-server and analytics costs every web product carries. We will walk them from cheapest to most expensive, because the order itself is the lesson: the line everyone worries about (encoding) is small, and the line people forget (delivery) is the one that sets your margin.

Encoding: a one-time cost per title, and it is modest

Before content can stream, it has to be converted into the set of quality versions a player switches between — the encoding ladder (the rungs of resolution-and-bitrate the player climbs up and down as the network changes). We explain the ladder itself in the encoding ladder explained; here we only need its price.

Cloud transcoding is billed per output minute — per minute of each rendition produced, not per minute of source. AWS Elemental MediaConvert, a representative cloud encoder, now bills in normalized minutes: each output minute is multiplied by a factor for resolution and codec. On the Basic tier (AVC) in US East, a normalized minute costs $0.0075 for the first 100,000 a month, $0.0053 for the next 900,000 and $0.0038 after that; SD counts 1×, HD 2× and 4K 4×, so an HD output minute starts at $0.015. HEVC and AV1 run on the Professional tier at $0.012 per normalized minute with higher multipliers, which puts a 4K AV1 minute at about $0.17 (AWS MediaConvert pricing page, October 2026). Re-verify before you budget, because encoder pricing changes.

Here is the key property: encoding is a one-time cost per title. You encode a film once and serve it a million times; you only re-encode when you add new content or change your ladder. So even a large catalog costs little to encode relative to the monthly delivery bill, and the cost does not recur with viewership. We will put a number on it in the worked example, and it will be one of the smallest figures in the whole model.

Storage: cheap, and it scales with catalog, not audience

Once encoded, the files sit in object storage waiting to be served. Cloud object storage is inexpensive: Amazon S3 Standard is about $0.023 per gigabyte per month for the first 50 TB (us-east-1, 2026), dropping slightly at higher volumes. Storage scales with catalog size and ladder depth — how many hours you hold and how many renditions each — and not at all with how many people watch. A big catalog with few viewers has a high storage bill and a low delivery bill; a small catalog with a huge audience is the opposite. Storage is almost never the line that decides your economics, but it is the one that quietly grows as your library does.

Delivery (egress): the line that decides whether you have a business

This is the one. Egress is the fee a content delivery network charges to send bytes out of its edge servers to viewers. A content delivery network (CDN) is the layer of servers spread around the world that keep copies of your video close to viewers so they are not all hitting one origin server; we explain how it works in how a CDN delivers video. For the cost model, the thing to internalise is that egress is the dominant recurring cost of any streaming platform at scale, and it scales with the one variable nothing else does: total bytes delivered, which is watch-time × bitrate × audience.

Egress is tiered, not a flat per-gigabyte price, and the tiers matter. As an anchor, Amazon CloudFront's US/Canada pay-as-you-go rates (AWS pricing page, checked October 2026 and unchanged since June 2026) are: the first 1 TB per month free, the next 9 TB at $0.085/GB, the next 40 TB at $0.080/GB, the next 100 TB at $0.060/GB, the next 350 TB at $0.040/GB, and the next ~524 TB at $0.030/GB, falling toward $0.020/GB at petabyte scale. Two more facts change the bill materially: data fetched from an AWS origin into CloudFront is free (you pay only for delivery to viewers), and a commitment discount — the CloudFront Security Savings Bundle — cuts up to 30% off in exchange for a one-year minimum-spend commit, with deeper custom discounts for commits of 10 TB/month or more.

Two newer pricing facts matter for a small or growing platform. First, since November 2025 CloudFront also sells flat-rate plans: Free ($0, 100 GB), Pro ($15, 50 TB), Business ($200, 50 TB) and Premium ($1,000 a month, 50 TB, configurable up to 600 TB at a higher flat price), with no overage bills (AWS CloudFront pricing page, October 2026). They suit a pilot or a niche catalog; past the allowance AWS steers you to a higher tier, and a platform the size of the worked example below (675 TB a month) is beyond the top Premium allowance, so it stays on pay-as-you-go or a custom contract. Second, pay-as-you-go also charges for requests, $0.0100 per 10,000 HTTPS requests in the US, and adaptive streaming makes a request for every few seconds of video. It is a small line, but it is the one most cost sheets leave out.

A note that saves teams from a nasty surprise: many CDNs and transit providers bill bandwidth at the 95th percentile of usage rather than total transfer, which means a few spiky hours (a live premiere) can set the price for the whole month. The pricing model matters as much as the per-gigabyte number. State the model and the date; never quote a single price as if it were universal. We dig into commits, the 95th percentile, and the offload ratio in CDN cost engineering.

Content protection (DRM): a per-viewer or per-licence fee

If you license premium content, studios require digital rights management (DRM) — the system that keeps the decrypted video and its keys from being copied. We cover what it is and why in why DRM exists and the modern multi-vendor pattern in multi-DRM, one workflow. For the cost model, DRM is a recurring fee charged either per licence issued or per monthly active user. Representative 2026 pricing: managed multi-DRM services start around $300/month for ~100,000 licences, or tiered per-user models such as $299 for the first 1,000 monthly active users plus roughly $0.04–$0.06 per additional user. Self-hosting a multi-DRM stack runs $10,000–$50,000+ to set up and $500–$5,000/month to operate — rarely worth it until you are very large. DRM is a real line but usually a single-digit percentage of the egress bill.

The worked example: a 2,000-hour SVOD platform at 50,000 viewers

Numbers make the model concrete, so let us build one platform end to end and show every step of the arithmetic. The assumptions are deliberately middle-of-the-road; change them in the companion spreadsheet to match your own plan.

The platform. A subscription video-on-demand (SVOD) service. Catalog of 2,000 hours. Audience of 50,000 monthly active viewers, each watching 10 hours a month. A six-rung encoding ladder whose renditions sum to about 12 Mbps of stored bitrate, and an average delivered bitrate of 3 Mbps (most viewing happens on the middle rungs, not the top one). Delivery on a CloudFront-class CDN at US rates. Subscription price (ARPU) of $8/month.

Step 1 — one-time encode. Output minutes = source minutes × ladder rungs, then normalized for resolution (three SD rungs at 1×, three HD rungs at 2×).

source minutes     = 2,000 hr × 60                        = 120,000 min
output minutes     = 120,000 × 6 renditions                = 720,000 min
normalized minutes = 360,000 SD × 1 + 360,000 HD × 2       = 1,080,000
first   100,000 × $0.0075                                  = $750
next    900,000 × $0.0053                                  = $4,770
next     80,000 × $0.0038                                  = $304
-----------------------------------------------------------------
encode cost (catalog encoded in one month)                 ≈ $5,824  (one time)

The entire catalog encodes for about $5,800, once (about $10,800 if every minute were billed at the first-tier HD rate, which is the conservative number the spreadsheet uses). Add a 4K HEVC or AV1 top rung and it climbs, but it is still a one-time figure in four or five digits — trivial next to the monthly delivery bill.

Step 2 — monthly storage. Stored bytes = hours × seconds × aggregate bitrate.

stored data = 2,000 hr × 3,600 s × 12 Mbit/s ÷ 8 = 10,800,000 MB ≈ 10.8 TB
+ mezzanine masters (~4 TB)                        ≈ 15 TB total
storage cost = 15,000 GB × $0.023/GB-month         ≈ $345 / month

Holding the whole catalog costs about $345 a month. Storage is real but small.

Step 3 — monthly delivery (egress), the big one. First find total bytes delivered, then walk the CDN tiers.

data per viewer = 10 hr × 3,600 s × 3 Mbit/s ÷ 8 = 13,500 MB = 13.5 GB
total delivered = 50,000 viewers × 13.5 GB        = 675,000 GB = 675 TB / month

Now apply the tiered CloudFront US rates, tier by tier:

first   1 TB  free                         = $0
next    9 TB  × $0.085/GB (9,000 GB)        = $765
next   40 TB  × $0.080/GB (40,000 GB)       = $3,200
next  100 TB  × $0.060/GB (100,000 GB)      = $6,000
next  350 TB  × $0.040/GB (350,000 GB)      = $14,000
remaining 175 TB × $0.030/GB (175,000 GB)   = $5,250
-----------------------------------------------------
egress, list price                          ≈ $29,215 / month
with a 30% savings-bundle commit            ≈ $20,450 / month

Delivery is roughly $29,000 a month at list, or about $20,000 with a commit. This single line is larger than everything else in the model combined. Add the request fee: with 4-second segments each viewer-hour is 900 video-segment requests (separate audio segments and playlist fetches can roughly double that, which still keeps the line under $1,000).

requests     = 50,000 viewers × 10 hr × 900 segments/hr = 450,000,000
request fee  = 450,000,000 ÷ 10,000 × $0.0100          ≈ $450 / month

The same 675 TB looks very different on other price cards, which is why the CDN choice is the biggest decision in the run cost:

Delivery option (list prices, October 2026) How it bills 675 TB / 30 million viewer-minutes a month What you give up
Amazon CloudFront, pay-as-you-go (US)Tiered per GB, $0.085 → $0.030 at this volume≈ $29,215 + $450 requestsNothing on reach; highest list price
CloudFront + Savings BundleUp to 30% off for a 1-year monthly commit≈ $20,450 + $315 requestsYou pay the commit even in a slow month
bunny.net Volume network$0.005/GB first 500 TB, $0.004/GB to 1 PB≈ $3,200Smaller network built for large files; test QoE in your markets
Cloudflare Stream (managed video)$1 per 1,000 minutes delivered; encoding free; $5 per 1,000 minutes stored≈ $30,000 delivery + $600 storagePer-minute price does not fall with lower bitrate; less control of the ladder

Table 2. One month of the worked example's delivery on four price cards. Sources: AWS CloudFront pricing, bunny.net CDN pricing, Cloudflare Stream pricing, all checked October 2026. Multi-CDN setups usually mix a premium CDN for hard markets with a cheaper one for bulk traffic.

Step 4 — monthly DRM. Using a tiered per-user model:

$299 (first 1,000 MAU)
+  9,000 users × $0.06   = $540      (1,001–10,000)
+ 40,000 users × $0.04   = $1,600    (10,001+)
-------------------------------------------------
DRM ≈ $2,439 / month

Step 5 — add it up. Encoding is one-time, so it does not appear in the monthly run; amortised over a year it adds ~$485/month. Application servers, database, and analytics for a platform this size run on the order of $2,000–$4,000/month; call it $3,000.

egress (list)        ≈ $29,215
CDN requests         ≈ $450
DRM                  ≈ $2,439
storage              ≈ $345
app/db/analytics     ≈ $3,000
encode (amortised)   ≈ $485
-------------------------------------------------
total recurring      ≈ $35,934 ≈ $35,900 / month  (≈ $27,000 with a CDN commit)

Step 6 — the number that matters: cost per viewer.

cost per viewer = $35,900 ÷ 50,000 = $0.72 / viewer / month
ARPU            = $8.00 / viewer / month
gross margin    = ($8.00 − $0.72) ÷ $8.00 ≈ 91%

At these assumptions the unit economics are healthy: each viewer costs about 72 cents a month to serve against $8 of revenue. But notice what moves that number. Double the average bitrate (4K-heavy viewing) and egress rises about 60%, to roughly $47,800, because the extra terabytes fall into cheaper tiers; cost per viewer climbs to about $1.09. Drop the subscription to $4 and gross profit per viewer falls from $7.28 to $3.28, more than half gone, while the cost line does not move. The model is not "is it profitable?" in the abstract — it is "does your price cover your delivery cost at your audience's real bitrate?"

A line chart of the monthly CDN egress bill against total bytes delivered per month. The horizontal axis runs from 0 to 1,000 TB and is labelled total delivered per month, equal to watch-time times bitrate times audience; the vertical axis runs from $0 to $40k. A solid orange curve is the list price on CloudFront US pay-as-you-go tiers and bends flatter as each cheaper tier begins; a dashed green curve below it is the same volume with a one-year commit at up to 30% off. A marked point on the list curve is annotated with the worked example: 675 TB costs $29,215 at list, or $20,450 with a 30% commit. A note under the chart gives the 2026-06-08 rates — first 1 TB free, then $0.085, $0.080, $0.060, $0.040 and $0.030 per GB as the monthly volume crosses 10, 50, 150 and 500 TB — and states that catalog size does not appear on this axis: only watching moves this bill. Figure 2. The egress ramp. The monthly delivery bill climbs with bytes delivered (watch-time × bitrate × audience); a commit discount shifts the whole curve down. Catalog size does not appear on this axis.

What actually drives the bill: the four levers

The worked example exposes the levers worth pulling. Each one moves the dominant line — delivery — far more than any saving on the small lines.

The first lever is codec efficiency. A more efficient codec delivers the same picture at a lower bitrate, and because egress is bytes, lower bitrate is a lower bill. Moving popular content from H.264 to HEVC or AV1 can cut delivered bitrate 30–50% for equal quality, which flows straight through to egress. The trade-off is encode cost and device support; we frame that product decision in codec strategy for OTT and the underlying codec mechanics live in our Video Encoding section. Spend a little more encoding (one-time) to spend a lot less delivering (every month).

The second lever is the cache-hit ratio — the share of viewer requests the CDN serves from its own edge cache instead of fetching from your origin. A high cache-hit ratio is normal for VOD because popular titles are requested over and over, and it keeps the origin and its bandwidth cheap. A badly designed cache key (covered in edge caching and cache keys) destroys the hit ratio and inflates both origin cost and latency.

The third lever is commit pricing. Once your traffic is predictable, a one-year commitment (the CloudFront Savings Bundle or an equivalent) buys up to 30% off, and multi-CDN negotiation buys more. The catch is that commits are a bet on volume: commit too high and you pay for bytes you did not deliver. Match the commit to your floor, not your hopeful peak.

The fourth lever is per-title encoding — tuning the ladder to each piece of content instead of applying one fixed ladder to everything. A fixed ladder wastes bitrate (and therefore egress) on simple content that does not need the top rungs, while per-title encoding cuts storage and delivery for measurable savings. We quantify it in per-title encoding economics.

OTT pricing: what the viewer side of the margin looks like

OTT pricing is the price you charge viewers, and the cost model only makes sense next to it. Platforms price in four ways: subscription (SVOD), advertising (AVOD and free ad-supported channels, FAST), per-title rental or purchase (TVOD), and hybrids such as a cheaper ad tier next to an ad-free plan. As a 2026 reference point, Netflix raised its US prices in March 2026 to $8.99 for Standard with Ads, $19.99 for Standard and $26.99 for Premium (FOX Television Stations report, March 27, 2026). A niche or B2B platform rarely charges Netflix prices, which is exactly why cost per viewer matters: at $0.72 to serve a viewer, a $4.99 plan keeps an 86% gross margin on delivery and infrastructure, while a $1.99 plan keeps only 64% before content, payments and marketing.

How to choose and package the price is a decision of its own; we walk through it in the streaming pricing and packaging decision, and the business-side comparison of SVOD, AVOD, TVOD and FAST with build-vs-buy by stage lives in our OTT build-vs-buy and monetization playbook.

Build vs buy vs assemble: where the money goes

There are three ways to get a platform, and they trade money against control in opposite directions.

Buy an off-the-shelf OTT SaaS (Brightcove, JW Player, Vimeo OTT, Muvi). Lowest build cost and fastest launch, but you rent the platform — recurring fees scale with usage, you inherit the vendor's CDN and DRM markups, and you have limited control over architecture and margin. Good for testing a market; expensive at scale because someone else's margin is baked into your egress.

Assemble from cloud primitives (AWS MediaConvert/MediaLive + S3 + CloudFront + a multi-DRM service). Medium build cost, full control of the architecture, and you pay cloud list prices (with commit discounts available). This is where most serious custom platforms land, and it is the model the worked example above prices.

Build fully custom, including bespoke back-end services and possibly self-hosted encoding or DRM. Highest build cost and only worth it at large scale or with unusual requirements, where shaving the recurring bill repays the engineering.

The decision is not "which is cheapest" but "at what scale does control pay for itself". We walk the full decision in OTT platform build-vs-buy; the cost-model takeaway is that SaaS minimises build cost and maximises recurring cost, while assemble/build does the reverse.

Approach One-time build Recurring run Control of architecture & margin Time to launch
Buy (OTT SaaS) Lowest ($) Highest — vendor markups on egress/DRM Low Weeks–months
Assemble (cloud primitives) Medium ($$) Cloud list price, commit-discountable High Months
Build (fully custom) Highest ($$$) Lowest at large scale Full Many months

Table 3. The three ways to get an OTT platform. The column that decides the business is "recurring run", not "one-time build".

A common mistake: budgeting from the build quote

The error we see most often is a budget built entirely around the one-time build number, with the recurring run treated as a rounding error or a "we'll figure it out later". A team raises money against a $200,000 build, launches, finds an audience — and then the egress bill arrives and nobody modelled it. Because delivery scales with watch-time and audience, the run cost is small in beta and frightening at scale, exactly when the company can least afford a surprise.

The second face of the same mistake is quoting CDN cost as a single per-gigabyte price. Egress is tiered, commit-dependent, and sometimes billed at the 95th percentile; "we'll pay about $0.08 a gig" is wrong in three different directions at once. Model the tiers, decide whether to commit, and know your billing model before you sign.

The third face is confusing catalog size with cost. A bigger catalog raises storage (cheap) and encoding (one-time), but it does not raise delivery — only watching does. A platform with 10,000 hours and 1,000 viewers is cheap to run; a platform with 200 hours and 1,000,000 viewers is expensive. Budget against viewers and their bitrate, not against library size.

OTT platform cost: frequently asked questions

How much does it cost to build an OTT platform in 2026?

An MVP with web and one or two mobile apps typically costs $50,000–$90,000 and takes four to six months; a standard custom platform with TV apps, personalization and multi-DRM costs $150,000–$350,000 and takes nine to fifteen months. Add 15–20% of the build per year for maintenance.

How much does OTT app development cost per device?

Separate native apps are quoted at $50,000–$150,000 per platform, but shared code changes that a lot: Tizen and webOS reuse the web player, Android TV and Fire OS reuse the Android app, and Roku needs its own BrightScript app, so it is usually the most expensive TV surface.

What is the biggest monthly cost of running an OTT platform?

CDN egress, the per-gigabyte fee for delivering video to viewers. In our worked example it is about $29,200 of a $35,900 monthly bill (81%), and it grows with watch-time × bitrate × audience, not with catalog size.

How much does CDN egress cost per GB in 2026?

Amazon CloudFront in the US lists at $0.085 per GB after the first free terabyte, falling to $0.030 at hundreds of terabytes and $0.020 above 5 PB, with up to 30% off for a one-year commit (AWS, October 2026). Volume-focused CDNs such as bunny.net list $0.005 per GB for the first 500 TB.

How much does an OTT platform cost per subscriber per month?

About $0.72 per viewer per month in our worked example (50,000 viewers, 10 hours each at 3 Mbps on CloudFront list prices), or roughly $0.54 with a CDN commit. Doubling the average bitrate pushes it to about $1.09.

Is an OTT SaaS cheaper than building my own platform?

SaaS is cheaper to launch and more expensive to run, because the vendor's markup sits on every delivered byte and DRM licence. Assembling from cloud services costs more up front and less per viewer, so the switch pays off once your audience and watch-time are predictable.

↓ Free download: OTT Platform Cost Model (spreadsheet)The worked example as a live model: enter your catalog hours, audience, watch-time and bitrate, and the tiered CDN egress, storage, encode, DRM, total monthly run, cost per viewer and gross margin all update. CloudFront US tiers (AWS, 2026-06-08) are built in.

Where Fora Soft fits in

The hardest part of an OTT budget is not the build — it is forecasting the recurring run and engineering the platform so that delivery cost stays under control as the audience grows from a thousand viewers to a million. Fora Soft has built video streaming, OTT/Internet TV, e-learning, telemedicine, and surveillance software since 2005, across 250+ shipped projects, and that work is squarely about scaling delivery economically: tuning the encoding ladder, raising cache-hit ratios, designing multi-CDN delivery, and integrating DRM without paying a SaaS markup on every byte. When a media company needs a custom platform whose unit economics survive contact with a real audience, that scale-and-cost engineering is the capability we bring. The model in this article is the same one we use to scope a build. To turn the model into a number for your own service, our OTT platform development team scopes build and run costs together, and our video streaming software development practice handles the encoding ladder, multi-CDN and DRM work that keeps the run cost down as the audience grows.

Video Encoding: A Complete Guide to Video Compression - book coverVideo Streaming: From ABR and CDNs to Players, WebRTC, DRM, and the Economics of Streaming - book coverVideo Streaming: From Network Protocols and Transport to Ingest, HLS, and MPEG-DASH - book cover

The handbook

Fora Soft Video Engineering Handbook

We wrote a seven-volume handbook that takes the whole video stack apart, from the pixel to the delivery invoice, and an engineer who works through it can design and build the platform this article has just priced. Volume 3 sits closest to the model above: CDNs, caching, players, DRM and the economics of delivery — the $29,215 line and the levers that move it. Volume 1 explains the encoding and ladder choices that set how many bytes you ship per viewer, and volume 2 covers the ingest, HLS, DASH and CMAF packaging that turns those bytes into the segments a CDN bills you for. Written by Nikolay Sapunov, CEO at Fora Soft.

Browse the handbook on Amazon →7 volumes · Kindle & paperback

Does your subscription price cover what a viewer costs to serve?

Send us your catalog size, the audience you are planning for, and the bitrate your viewers actually watch at, and we will run this model on your numbers: the monthly egress, storage, DRM and app lines, the cost per viewer, and which of the four levers is worth pulling first. 250+ video products shipped since 2005.

Book a 30-min call →WhatsApp →Email us →

See our case studies

References

  1. Amazon CloudFront pay-as-you-go pricing — Amazon Web Services. Regional Data Transfer Out to Internet (per GB), US/Canada tiers; AWS-origin fetches free; Savings Bundle up to 30%. HTTPS requests $0.0100 per 10,000 (US). Page updated 2026-10-16. Tier 4 (first-party vendor). https://aws.amazon.com/cloudfront/pricing/pay-as-you-go/ (accessed 2026-10-19)
  2. Amazon CloudFront pricing (flat-rate and free tier) — Amazon Web Services. Flat-rate plans (Free $0 / Pro $15 / Business $200 / Premium $1,000 per month, allowances 100 GB–600 TB, no overage charges), launched November 2025. Updated 2026-10-15. Tier 4. https://aws.amazon.com/cloudfront/pricing/ (accessed 2026-10-19)
  3. AWS Elemental MediaConvert pricing — Amazon Web Services. Normalized-minute pricing: Basic AVC $0.0075 / $0.0053 / $0.0038 per normalized minute by monthly volume; SD 1×, HD 2×, 4K 4×; Professional HEVC/AV1 from $0.012. Updated 2026-10-15. Tier 4. https://aws.amazon.com/mediaconvert/pricing/ (accessed 2026-10-19)
  4. Amazon S3 pricing — S3 Standard storage — Amazon Web Services. ~$0.023/GB-month first 50 TB (us-east-1). Tier 4. https://aws.amazon.com/s3/pricing/ (accessed 2026-06-15)
  5. RFC 8216 — HTTP Live Streaming (HLS) — IETF. The HLS manifest/segment format produced by the packager; the delivery format whose bytes incur egress. Tier 1 (official standard). https://www.rfc-editor.org/rfc/rfc8216 (accessed 2026-06-15)
  6. ISO/IEC 23009-1 — Dynamic Adaptive Streaming over HTTP (MPEG-DASH) — ISO/IEC. The DASH manifest/segment format; the second delivery format a platform serves. Tier 1. https://www.iso.org/standard/83314.html (accessed 2026-06-15)
  7. ISO/IEC 23000-19 — Common Media Application Format (CMAF) — ISO/IEC. One set of fragmented-MP4 segments serving both HLS and DASH; relevant to storage and ladder cost. Tier 1. https://www.iso.org/standard/85623.html (accessed 2026-06-15)
  8. ISO/IEC 23001-7 — Common Encryption (CENC) — ISO/IEC. The cenc/cbcs encryption schemes underlying the multi-DRM step priced here. Tier 1. https://www.iso.org/standard/84637.html (accessed 2026-06-15)
  9. DoveRunner multi-DRM pricing — DoveRunner. Standard plan $299 for the first 1,000 MAU, then $0.06 (1,001–10,000) and $0.04 (10,001–100,000) per MAU. Tier 4. https://doverunner.com/pricing/ (accessed 2026-10-19)
  10. EZDRM service pricing — EZDRM. Per-licence/per-stream multi-DRM pricing reference. Tier 4. https://www.ezdrm.com/service-pricing (accessed 2026-06-15)
  11. bunny.net CDN pricing — bunny.net. Standard network $0.01/GB (North America, Europe); Volume network $0.005/GB first 500 TB, $0.004/GB 500 TB–1 PB. Tier 4. https://bunny.net/docs/cdn/pricing (accessed 2026-10-19)
  12. Cloudflare Stream pricing — Cloudflare. $5 per 1,000 minutes stored per month, $1 per 1,000 minutes delivered, ingress and encoding free. Tier 4. https://developers.cloudflare.com/stream/pricing/ (accessed 2026-10-19)
  13. Guide to building for Fire TV on Vega OS — Amazon Developer, 2026-07-13. Vega OS is Amazon's Linux-based Fire TV platform; apps are built with React Native. Tier 4. https://developer.amazon.com/apps-and-games/blogs/2026/07/guide-to-building-for-fire-tv-on-vega-os (accessed 2026-10-19)
  14. Netflix raising prices again on all plans — FOX Television Stations, 2026-03-27. US prices: Standard with Ads $8.99, Standard $19.99, Premium $26.99. Tier 6 (news). https://www.fox35orlando.com/news/netflix-raising-prices-again-all-plans-how-much-more-youll-be-paying (accessed 2026-10-19)
  15. Custom OTT app development cost (2026 market survey) — Appinventiv. Build-cost ranges by scope; per-platform native-app costs; maintenance 15–20%/yr. Tier 7 (SEO/market content) — orientation only; flagged as non-authoritative. https://appinventiv.com/blog/ott-app-development-cost/ (accessed 2026-06-15)

Source note (per §4.3.2): build-cost ranges (reference 15) come from a tier-7 market survey and are used only as orientation; they are flagged in the text as ranges, not quotes. All recurring-cost figures (egress, requests, storage, transcode, DRM, alternative CDNs) trace to first-party vendor pricing pages (tier 4), rechecked on 2026-10-19; the consumer price benchmark (reference 14) is a news report; all delivery-format claims trace to tier-1 standards (refs 5–8). No lower-tier source overrode a standard.