DEV Community

Cover image for From $50K to $150/Month: How I Stopped Getting Robbed by CDNs and Built My Own Damn Streaming Infra
Harsh Suthar
Harsh Suthar

Posted on

From $50K to $150/Month: How I Stopped Getting Robbed by CDNs and Built My Own Damn Streaming Infra

Apparently, streaming video in India means paying like you're Netflix.
And I’m just trying to stream some bhajans, bro 🙃

$50,000/Month 😵

That was our infra bill.
Just to deliver basic, compressed, chill spiritual content — no fancy 4K, no Dolby, no premium anything. Just 1080p livestreams, mostly under 2Mbps.

You'd think this would cost a few hundred bucks, right?

Try $50K a month.

WTF


Who Was Bleeding Us Dry?

Not encoding. Not storage.

It was delivery.
Plain old “here’s your video segment, dear user” delivery 📦

Here’s what the MUX bill for 70 million requests looked like:

Category Monthly Cost
Encoding $393.75
Storage $2.34
Delivery (CDN) $44,782.50
Total ~$45,178.59

Almost 45 grand just to deliver files over HTTP.
Like... seriously?

Are you FR?


Tried Bunny CDN, Got Slapped Anyway 🐰💸

Switched over to Bunny.
Bunny Stream, Bunny CDN, self-hosted pipeline — the works.

Cost dropped to $5K–6K/month, which felt like an improvement…
…until you remember we’re a small startup streaming in India — not HBO 😐

And surprise: most users still got routed through Tokyo or Singapore.
Closest edge?
More like closest disappointment.

OH


So I Said “Screw This, I’m Building It Myself” 💀🧱

No VCs.
No fancy containers.
No $500/hr DevOps consultants.

Just me, a VPS, and years of accumulated frustration.

I opened up FFmpeg docs.
Dug through old NGINX configs.
Skimmed Cloudflare pricing tables.
Then built a pipeline from scratch that:

  • Doesn’t charge you $44K for breathing near the CDN
  • Actually respects Indian traffic
  • And doesn’t rely on any black-box streaming magic 🔮

Take Over


Here’s What I Built — And How It Works ⚙️

This setup now serves 70M+ requests/month with:

  • Peak concurrency in 100Ks
  • Under 2s startup latency
  • < 0.5% buffering
  • $150/month infra cost 💸✅

RTMP Ingest via nginx-rtmp on VPS

Livestreams hit a raw RTMP server (NGINX + nginx-rtmp-module) on a beefy VPS.
Nothing fancy. Just reliable, stateless ingestion.

Transcoding via ffmpeg in Realtime

FFmpeg transcodes streams to 3 different bitrates (480p, 720p, 1080p).
No rocket science. Just CLI flags, CPU, and fast disk.

No Storage. No Bloat.

We don’t store livestreams (yet).
This means $0 storage cost, no object storage APIs, no S3 surprises 🎯

HLS Segments Churned Locally

FFmpeg chunks video into .ts segments and .m3u8 playlists — standard HLS.
These are dumped on disk, auto-updated in real time.

Cloudflare Does the Heavy Lifting ☁️🔥

And here’s the kicker.

Cloudflare caches those segments like a champ:

  • ~95% cache hit ratio
  • Actual edge delivery inside India
  • Egress? Basically free
  • Bandwidth? Who even pays for that anymore? 🤷‍♂️

CDN usage is billed in Class A + B operations, which are hilariously cheap if you serve static HLS files properly.


Total Monthly Cost Now?

Service Monthly Cost
VPS (8-core) ~$50
Cloudflare CDN ~$80
Misc Ops ~$20
Total $150

That’s it.
From $50K to $150.
No performance loss.
In fact — it’s faster now 🚀

Hell yeahhhh


TL;DR Reality Check 🧠💥

  • Ditch platforms built for US-centric traffic. Tokyo is not an Indian edge.
  • Transcoding isn’t magic. It’s FFmpeg. Learn it.
  • You don’t need cloud-native. You need cost-native.
  • Don’t let SaaS eat your entire infra budget just because they slapped a dashboard on top of open-source tools.

👋 If You’re a Startup Trying to Build Something Similar...

And you're stuck wondering why your streaming bill looks like a Black Mirror episode…

Hit me up.

I'll help you build a streaming infra that actually makes sense for your users and your wallet.


💬 And Everyone Else…

What do you think about this setup?
Tried building something similar? Drop your story below — I’d love to compare war wounds 😅

Top comments (0)