ffmpegvideo-encodinginfrastructure-cost

FFmpeg in the cloud vs running FFmpeg yourself: total cost of ownership

·Javid Jamae·8 min read
FFmpeg in the cloud vs running FFmpeg yourself: total cost of ownership

Your FFmpeg server costs about $80 a month on paper. The real number is closer to $500 once you count the engineer who babysits it. That gap is the whole story of self-hosted video processing, and it's why the "just run FFmpeg yourself" math almost never survives contact with a growing queue.

Quick answer: For FFmpeg cloud vs self hosted cost, self-hosting looks cheaper only if you ignore engineer time. A single t3.large transcode box runs about $60/month, but the DevOps hours to patch, scale, monitor, and debug it add $100 to $480/month of loaded engineering time. A usage-based FFmpeg API like FFmpeg Micro shifts that to a per-job price with no idle servers and no on-call, so it wins below a few hundred hours of monthly encode volume.

What does self-hosting FFmpeg actually cost?

Self-hosting FFmpeg's total cost of ownership is the server, plus storage, plus egress, plus the human who keeps it alive. Most cost comparisons stop at line one. That's the mistake.

Here's the honest breakdown for a small pipeline processing a few hundred videos a day on AWS.

Cost lineSelf-hosted (monthly)Notes
Compute (one right-sized box, baseline plus burst)~$80-$150Idle most of the day, still billed
Storage (S3, 500 GB)~$12Inputs plus outputs plus intermediates
Egress (1 TB out)~$90$0.09/GB after the free tier
Monitoring (CloudWatch, logs)~$20Metrics you'll actually need
Engineer time (1-4 hrs/mo)$100-$480Most months are quiet; a bad one costs more
Total~$300-$750The person is the cost, not the server

The compute is the small part. The person is the cost. A backend engineer runs $100 to $120 an hour fully burdened, and a steady self-hosted box needs 1 to 4 hours in a normal month: an hour or two watching usage and logs, plus the occasional afternoon on a scaling tweak or a weird-input bug. The big incidents are real (a codec upgrade, a full disk at 2 a.m., a queue that backs up in a spike), but they are quarterly surprises, not a monthly tax, so amortized they stay inside that range.

Why is FFmpeg cheap to install but expensive to run?

FFmpeg the binary is free. FFmpeg the production service is not. The cost lives in everything wrapped around the transcode call, and none of it shows up when you test on your laptop.

Run this locally and it works in a second:

ffmpeg -i input.mp4 -vf "scale=1280:720" -c:v libx264 -crf 23 output.mp4

Now make that survive production. You need a job queue so requests don't block, a worker pool that scales with load, retry logic for corrupt inputs, a storage layer for inputs and outputs, timeouts so a 4K file doesn't pin a core for 20 minutes, and alerting for when any of it breaks. That's a media microservice, and you're now maintaining it forever.

The same job as one API call:

curl -X POST https://api.ffmpeg-micro.com/v1/jobs \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operation": "transcode",
    "input_url": "https://example.com/input.mp4",
    "options": { "width": 1280, "height": 720, "video_codec": "h264", "crf": 23 }
  }'

No queue to run, no workers to scale, no server to patch. The response gives you a job ID; you poll or take a webhook, then download the output. The infrastructure that ate your engineer's afternoons is now someone else's problem. We wrote up why serverless platforms make this worse, not better, in the FFmpeg on AWS Lambda layer-size and timeout problem.

The hidden costs nobody puts in the spreadsheet

The line items that sink self-hosted TCO are the ones that don't appear until you're already committed. These are the real killers.

  • Egress fees. AWS charges about $0.09/GB to move data out. Process 5 TB of video a month and that's ~$450 in bandwidth alone, separate from compute. Cloud egress on video pipelines scales with your output, not your effort.
  • Provisioning for peak. Video load is spiky. You size the server for your worst hour, then pay for that capacity 24/7. Average utilization on a dedicated transcode box is often under 20%.
  • On-call. A queue that backs up on Saturday is a person's weekend. That cost is real even when it doesn't hit a P&L line.
  • Codec drift. New format, new FFmpeg version, new build flags. AV1 and H.265 encoding are slow and CPU-hungry; a single AV1 job can run 5 to 10x longer than H.264, which changes your whole capacity plan.
  • The bus factor. One engineer knows how the pipeline works. When they leave, the knowledge leaves. We cataloged the platform-specific version of this pain in self-hosting FFmpeg on Railway, Render, Fly.io, and DigitalOcean.

A usage-based API collapses all six into one number: price per job. You pay for work done, not capacity held, and the egress, scaling, and patching sit on the provider's side of the line.

When self-hosting is actually cheaper

Self-hosting wins at sustained high volume with a team that already runs infrastructure. If you're transcoding thousands of hours a day, own your egress path with a CDN deal, and have SREs on payroll who'd otherwise be idle, a fleet of GPU encode boxes beats per-minute API pricing. AWS Elemental MediaConvert, Google Transcoder API, and a raw EC2 fleet all make sense at that scale.

The crossover is roughly a few hundred processing-hours a month. Below it, an API is cheaper because you're not paying for idle servers or a full-time babysitter. Above it, the fixed cost of a real media team amortizes and marginal compute gets cheap.

Be honest about which side you're on. A faceless-channel builder assembling 200 clips a night does not need a Kubernetes video cluster. A streaming platform ingesting 10,000 hours a day should not be calling a per-job API for its core pipeline. Most automation builders and small SaaS teams are firmly in the first camp and self-host anyway, out of habit.

Cloud API vs self-hosted: the ROI in one view

The return on a video API is measured in engineer-hours reclaimed, not cents per minute saved.

FactorSelf-hosted FFmpegFFmpeg Micro API
Servers to runYesNone
Scales with loadYou build itAutomatic
Egress feesYoursIncluded in job price
On-call burdenYour teamProvider
Codec/version upkeepManualManaged
Time to first working jobDaysMinutes
Pricing shapeFixed + idleUsage-based, free tier

FFmpeg Micro gives you the full FFmpeg toolkit (transcode, compress, caption, watermark, compose, audio) as one API call, with a free tier to start and usage-based pricing after. Compare the numbers against your own EC2 bill on the pricing page.

FAQ

Is it cheaper to self host FFmpeg?

Only above a few hundred processing-hours a month, and only if you already employ people who run infrastructure. Below that, the fixed cost of one engineer maintaining the pipeline (roughly $100 to $480/month in loaded time) outweighs the compute savings, so a usage-based API is cheaper.

How much does running FFmpeg on AWS cost?

The compute is small: a t3.large running 24/7 is about $60/month. The trap is everything around it. Add S3 storage, ~$0.09/GB egress, CloudWatch monitoring, and 1 to 4 hours of engineer time, and a modest AWS FFmpeg pipeline lands near $300 to $750/month all-in.

What are the hidden costs of self-hosting video transcoding?

Egress fees ($0.09/GB on AWS), provisioning for peak load while paying for it 24/7, on-call time, codec and FFmpeg version upkeep, and single-engineer knowledge risk. None appear in a naive server-cost estimate, and together they usually exceed the compute bill several times over.

Does an FFmpeg API replace a whole microservice?

Yes. One API call replaces the job queue, worker pool, retry logic, storage layer, timeout handling, and monitoring you'd otherwise build and maintain. You submit a job, poll or take a webhook, and download the output, with no servers to run.

When should I switch from self-hosted FFmpeg to a cloud API?

Switch when the engineer time spent on your pipeline outweighs its business value, when a queue backup becomes an on-call incident, or when a new codec forces a rebuild you don't have time for. If your monthly encode volume is under a few hundred hours, the math already favors an API.

Point your transcode step at one endpoint, keep the free tier while you compare it to your real infrastructure bill, and stop paying for idle encode boxes. Sign up free and run your first job in minutes.

About Javid Jamae

Founder & CEO at FFmpeg Micro

Javid is a software engineer, author, and entrepreneur with over 25 years of professional software development experience across enterprise, startup, and consulting environments. He founded FFmpeg Micro to make video processing accessible to developers through a simple, automation-first REST API.

Software EngineeringVideo ProcessingFFmpegCloud ArchitectureAPI DesignAutomation

Ready to process videos at scale?

Start using FFmpeg Micro's simple API today. No infrastructure required.

Get Started Free