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.
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?
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.
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 🔮
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 🚀
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)