On public list prices, the servers needed to carry a million participant-minutes of video a month cost less than $300.

That figure is real, and it is why so many self-hosting business cases look better on paper than in practice. Self-hosted video cost is not mostly servers. It is decided by two other lines: where your outbound traffic lands, and how much engineering time you commit to running the thing. Get those two right and, at enough volume, self-hosting beats any provider. Get them wrong and it costs several times more for the same calls.

Here is the self-hosted video cost model, line by line, with every price taken from a published page.

The workload this model prices

Every cost model is a conclusion about a particular workload, so here is this one stated plainly:

  • 1,000,000 participant-minutes a month, in rooms of five where everyone sees everyone.
  • 600 kbps average per forwarded stream, the planning figure used across our scaling-cost analysis. Each participant receives four streams, so each participant-minute sends about 18 MB out of the server.
  • Business-hours usage: 8 hours a day, 22 days a month. That averages about 95 people on calls at once; allowing for a 2× peak puts the busiest hour near 760 outbound streams and about 455 Mbps.

Change any of those and the numbers change — room size above all, because the bill follows viewers, not publishers. What stays the same is which lines matter.

Line by line: the self-hosted video cost, sourced

Line item

Basis

Public cloud / month

Bundled-bandwidth host / month

Media servers

2 × c3-standard-4 at $0.2016/hr (Google Cloud list), for redundancy

$294

$294 (held at cloud price for comparison)

Egress

18 TB at $0.09/GB (AWS list, first-10 TB tier, used as an upper bound)

$1,620

$0 — e.g. Hetzner: "unlimited traffic" on a 1 Gbit uplink

TURN relay

Depends on how many users need relaying

See The TURN Bill

Same

Recording storage

Depends on retention

See the storage bill

Same

Engineering time

Per 0.25 FTE, loaded (below)

$4,047

$4,047

Total at 0.25 FTE

Excluding TURN and storage

$5,961

$4,341

Compute is sized from mediasoup's own scalability guidance — one worker on one core handles "over ~500 consumers," so 760 streams fit in two cores. Two four-vCPU machines is generous, and it is still the smallest line on the page.

Egress is the line the venue decides. At 455 Mbps peak, this workload fits inside one 1 Gbit uplink, so on a host with bundled traffic the line goes to zero. On metered cloud egress it is the largest non-people cost. That gap — roughly 90× between cloud list egress and a dedicated server's bundled transfer — is the argument of scaling video cost past one media server, and it is not repeated here.

Which leaves the line that dwarfs the others in any self-hosted video cost model.

Engineering time is the real self-hosted video cost

The US Bureau of Labor Statistics puts the median annual wage for software developers at $135,980 (May 2025). Wages are not what an employer pays: in BLS compensation data for June 2026, wages and salaries were 70.0% of private-industry employer costs, with benefits the other 30.0%. Applying that ratio — an approximation, since it is the all-industry figure — gives a loaded cost of about $194,000 a year, or $16,188 a month, per full-time engineer.

Engineering allocation

Monthly loaded cost

What that usually buys

0.25 FTE

$4,047

Upgrades, patching, on-call for a stable deployment

0.5 FTE

$8,094

The above, plus scaling work and incident follow-up

1.0 FTE

$16,188

A dedicated owner for the video stack

The right fraction cannot be looked up; it depends on how much the deployment changes and how much downtime costs you. But the arithmetic is unforgiving: a quarter of one engineer costs more than the servers and the metered egress combined. Any self-hosting case that leaves this line out, or rounds it to "a few hours a month," is comparing a real invoice against an imaginary one.

The fair comparison is self-hosted video cost against what the same calls cost to buy.

What the same calls cost from a provider

Providers price this workload in two different ways, and the difference matters more than the headline rate.

Provider

Published rate

This workload / month

Twilio Video

"$0.004 per participant per minute" (pricing)

$4,000

LiveKit Cloud (Scale)

$500/month including 1.5M WebRTC minutes and 3 TB; then $0.10/GB downstream (pricing)

$2,000 ($500 + 15 TB of overage)

At a million participant-minutes, both providers are cheaper than self-hosting on public cloud with a quarter of an engineer, and LiveKit's bandwidth-based model is cheaper than self-hosting even on free egress. That is the honest starting point: at this scale, self-hosting does not save money. The broader shape of per-minute pricing is covered in what enterprise teams actually pay per minute.

The picture changes with volume, because the provider bill grows with every minute and most of the self-hosted video cost does not.

Where self-hosting breaks even

Self-hosting has a fixed cost (engineering plus servers) and a small cost per minute (egress, if metered). A provider has almost no fixed cost and a larger cost per minute. Break-even is the volume at which the per-minute savings pay for the fixed cost:

break-even minutes = fixed monthly cost ÷ (provider cost per minute − your cost per minute)

On this workload, the provider costs per participant-minute are $0.004 for Twilio and about $0.0022 for LiveKit beyond its included allowance ($0.0004 per minute plus 18 MB at $0.10/GB). Self-hosting costs about $0.0016 per minute on metered egress and effectively zero on bundled bandwidth.

Engineering allocation

vs Twilio — cloud egress

vs Twilio — bundled

vs LiveKit — cloud egress

vs LiveKit — bundled

0.25 FTE

1.8M min/month

1.1M

7.5M

2.0M

0.5 FTE

3.5M

2.1M

14.5M

3.8M

1.0 FTE

6.9M

4.1M

28.4M

7.5M

Three things fall out of that table:

  • Headcount moves the break-even more than anything else. Each step up in engineering allocation roughly doubles the volume you need.
  • Venue decides whether the break-even is reachable. Against a bandwidth-priced provider on metered cloud egress, the per-minute saving is so thin that break-even runs to tens of millions of minutes. On bundled bandwidth it drops to a few million.
  • The provider's pricing model matters as much as its rate. Per-participant-minute pricing charges the same for a viewer in a five-person room as for a speaker; bandwidth pricing tracks the real cost more closely, which leaves less margin to capture by self-hosting.

None of these break-evens include TURN or recording, which exist on both sides of the comparison — and providers charge for recording separately. Twilio lists participant track recordings at the same $0.004 per participant-minute and compositions at $0.01 per composed minute.

Which is why self-hosted video cost is rarely the whole reason anyone self-hosts.

The cost question and the control question

Below a few million minutes a month, the numbers above say to buy. Teams self-host anyway when something other than the invoice decides it: where the media is allowed to go, who can access recordings, and what they can prove to a regulator or customer about both. Those are control questions, and the answer to them is the same one that makes self-hosting cheap at scale — owning the media path.

The practical reading is that the cost model tells you what control costs, not whether to want it. If control is a requirement, the model tells you how to buy it efficiently: bundled bandwidth, a realistic engineering allocation, and a platform that does not make you build every piece yourself. What that deployment consists of is laid out in what you actually run to self-host real-time video.

Build, buy, or deploy

Build on open source

mediasoup, Janus, Pion and LiveKit's open-source server are production-grade and free to license — choosing between them is its own decision. This route has the lowest cost per minute of any option once the engineering is in place, and the highest fixed cost. It wins at high volume, on bundled bandwidth, with an engineer who owns it.

Buy from a provider

At low or unpredictable volume, a provider is cheaper than anything you can run, and the numbers above show that holds well past a million minutes a month. The trade is control: the media path, relay and recording run on the provider's infrastructure and terms.

Deploy a commercial platform on your own infrastructure

The middle path puts the media on infrastructure you choose while shrinking the engineering line. Samvyo is one such option: based on SFU architecture, shipping embeddable SDKs, with the media path, TURN and recording running on infrastructure you control, and resilient by design. Where it does not fit: at low volume with no control requirement, a per-minute provider is simpler and cheaper; and a team with deep WebRTC expertise and its own bare-metal footprint can reasonably build.

The Bottom Line

Self-hosted video cost is decided by engineering time and hosting venue, not by servers. On published prices, a million participant-minutes a month is cheaper to buy; self-hosting breaks even in the low millions on bundled bandwidth and much later on metered cloud egress.

Price the people honestly, price the egress at your real venue, and decide separately how much the control is worth to you.

What's Next

The technical companion, what you actually run to self-host real-time video, walks the deployment behind these line items. For why the hosting venue swings the egress line by two orders of magnitude, read scaling video cost past one media server.

Frequently Asked Questions

What is the biggest self-hosted video cost?

Engineering time. On published list prices, the servers for a million participant-minutes a month cost under $300, while a quarter of one loaded US software engineer costs about $4,000 a month. Egress is the second-largest line, and only on metered cloud networks.

Is self-hosting video cheaper than Twilio or LiveKit?

At low volume, no. On this model a million participant-minutes a month costs $4,000 on Twilio and about $2,000 on LiveKit Cloud, against about $5,960 self-hosted on public cloud with a quarter-time engineer. Self-hosting breaks even in the low millions of minutes on bundled bandwidth.

How much of self-hosted video cost is servers?

Very little. mediasoup documents one worker per core handling over ~500 outbound streams, so a workload peaking at 760 streams fits in two cores — about $294 a month at cloud list prices, even with redundancy. That is a small line compared with people and egress.

Why does hosting venue matter so much?

Because video is egress-heavy. Metered cloud egress at around $0.09/GB turns 18 TB a month into $1,620, while hosts with bundled traffic include it. That single difference moves the break-even point by millions of minutes.

What does self-hosting cost in engineering headcount?

It depends on how stable the deployment is, but budget at least a fraction of one engineer for patching, upgrades and on-call. Using BLS data, a loaded US software developer costs roughly $16,000 a month, so each quarter of an engineer is about $4,000.

Can we self-host without building everything ourselves?

Yes. Some commercial platforms deploy on infrastructure you choose, keeping the media path, TURN and recording under your control while reducing the engineering you own. Samvyo works this way; the hosting venue and retention decisions are still yours.