AWS MediaConvert is cheaper under ~500 videos/month; self-hosted FFmpeg wins above that. The break-even sits around 4,000–5,000 output minutes per month, depending on your server and labor costs.
When building a video transcoding pipeline, the choice between AWS MediaConvert and self-hosted FFmpeg is one of the first big decisions you'll face. Both are powerful — but their cost structures are completely different. At low volumes, managed services are easier and cheaper. Beyond a certain threshold, self-hosting wins decisively.
This article uses real numbers — pulled from the AWS MediaConvert pricing page and actual VPS provider rates — to calculate that break-even point and give you a clear framework for choosing between the two.
Two Approaches
Let's define the options clearly.
AWS MediaConvert is a fully managed video transcoding service. No server management required — you call an API and MediaConvert handles everything. Scaling is automatic, and operational overhead is minimal.
Self-hosted FFmpeg means running FFmpeg on a VPS or EC2 instance you manage yourself. You're responsible for the infrastructure, but as volume grows your costs stay mostly flat. If you haven't set up FFmpeg yet, see the FFmpeg installation guide first.
The key difference in one line: MediaConvert is pay-per-use; self-hosted FFmpeg is mostly fixed cost. That's the heart of every cost comparison between the two.
AWS MediaConvert Pricing
AWS MediaConvert charges based on the output duration of processed video. Rates vary by region, codec, and resolution.
Representative rates (Professional Tier, Tokyo region):
| Resolution | Rate (per minute) |
|---|---|
| 4K (UHD) | $0.054 |
| 1080p | $0.0135 |
| 720p | $0.0075 |
| SD | $0.0045 |
Example: 100 × 1080p videos per month
Let's say you process 100 videos per month, each averaging 10 minutes in length.
- Output duration: 10 min × 100 videos = 1,000 minutes/month
- 1080p rate: $0.0135/min
- Transcoding cost: 1,000 min × $0.0135 = $13.50/month
Add S3 storage and data transfer for ~100 videos at ~1 GB each:
- S3 storage: ~100 GB × $0.025/GB = $2.50/month
- Data transfer: ~$1–5 depending on destination
Total: roughly $17–21/month
At this scale, MediaConvert is genuinely inexpensive with no operational overhead to worry about.
Submitting a MediaConvert Job via AWS CLI
aws mediaconvert create-job \
--endpoint-url https://XXXX.mediaconvert.ap-northeast-1.amazonaws.com \
--role arn:aws:iam::123456789012:role/MediaConvertRole \
--settings file://job-settings.json
Job settings — including resolution, bitrate, and codec options — are defined in a JSON file and passed via --settings.
Self-Hosted FFmpeg Cost Structure
Running FFmpeg yourself involves several cost components. Let's break them down.
VPS / Server Costs
Video encoding is CPU-intensive. For real-time 1080p encoding, you'll want at least 4 cores. Here's a comparison of popular providers:
| Provider | Specs | Monthly Cost | Notes |
|---|---|---|---|
| Hetzner CX32 | 4 shared vCPU / 8 GB | Shared cores — will throttle under sustained encoding | |
| Kamatera | 4 vCPU / 8 GB | ~$30–55 (30-day free trial) | Price varies by CPU type — General Purpose recommended for encoding |
| Vultr | 4 vCPU / 8 GB | ~$40 | Regular Cloud Compute |
| DigitalOcean | 4 vCPU / 8 GB | ~$48 | Basic Droplet (shared CPU) |
| AWS EC2 c5.xlarge | 4 vCPU / 8 GB | ~$124 | Dedicated compute-optimized |
For cost-sensitive setups, Hetzner and Vultr are the go-to options. Keep in mind that shared vCPU plans throttle under sustained CPU load — fine for occasional batch jobs, but for continuous encoding you'll want dedicated cores. For a full walkthrough of server selection and FFmpeg setup, see FFmpeg VPS Encoding Server Setup.
Storage Costs
You need somewhere to hold files before and after conversion. If you use the VPS's local disk, there's no extra charge — but using object storage adds cost:
- Cloudflare R2: $0.015/GB/month (free egress)
- AWS S3: $0.025/GB/month (data transfer billed separately)
Labor Costs (The Hidden Variable)
Assuming two hours per month of maintenance (patching, log review, incident response):
- At $50/hour: 2 hrs × $50 = $100/month
This is the number most teams forget to include when comparing options.
Monthly Cost Breakdown
| Item | Minimal Setup | Standard Setup |
|---|---|---|
| VPS (shared vCPU) | $8 (Hetzner) | $48 (DigitalOcean) |
| Storage (100 GB) | $0 (local disk) | $1.50 (R2) |
| Egress | $0–5 | $5–20 |
| Maintenance labor | $50 | $100 |
| Total | ~$58 | ~$170 |
Where Is the Break-Even Point?
Self-hosted FFmpeg's fixed-cost model wins once volume is high enough. Using the minimal setup at ~$58/month as a baseline:
| Monthly Volume (1080p) | MediaConvert | Self-Hosted (Minimal) |
|---|---|---|
| 50 videos (500 min) | $6.75 + S3 ≈ $9 | ~$58 |
| 100 videos (1,000 min) | $13.50 + S3 ≈ $17 | ~$58 |
| 500 videos (5,000 min) | $67.50 + S3 ≈ $75 | ~$58 |
| 1,000 videos (10,000 min) | $135 + S3 ≈ $145 | ~$58 |
| 2,000 videos (20,000 min) | $270 + S3 ≈ $285 | ~$58–80 |
The break-even sits around 400–500 videos (4,000–5,000 minutes) per month. Below that, MediaConvert is cheaper. Above it, self-hosted FFmpeg wins.
One important caveat: these numbers assume labor costs of $50/month (about one hour of maintenance). If maintenance runs $100/month, the total jumps to ~$108 and the break-even shifts up to 800–1,000 videos per month.
When MediaConvert Makes Sense
MediaConvert earns its place in several scenarios.
Low or unpredictable volume. At 100 videos/month, you're paying roughly $17. There's no idle server sitting there costing money while you wait for jobs. If your volume swings from 50 to 500 month to month, pay-per-use is a natural fit.
Limited infrastructure expertise. When your team's strengths lie elsewhere, the operational overhead of running and maintaining servers is a real cost — often harder to quantify but definitely real.
High quality requirements out of the box. MediaConvert supports broadcast-grade codecs (H.264, H.265, AV1) with fine-grained bitrate control. It's production-ready without configuration effort.
When Self-Hosted FFmpeg Makes Sense
The case for self-hosting is equally clear in the right circumstances.
High, steady volume. Once you're past 500 videos/month, the fixed-cost model pays off. At 1,000 videos/month, you could save over $1,000/year compared to MediaConvert — and the gap widens as volume grows.
Custom codecs or specialized processing. If you need filters that MediaConvert doesn't support, custom codec settings, GPU-accelerated encoding (NVENC, QuickSync), or any pipeline that goes beyond standard presets, FFmpeg is your only real option.
Data residency or on-premises requirements. Regulatory constraints — data that can't leave a specific country or facility — rule out cloud services entirely. Self-hosted FFmpeg is the answer here.
Predictable cost at scale. Pay-per-use pricing has no ceiling. Fixed costs make budgeting straightforward and remove the risk of surprise bills during traffic spikes. Providers like Kamatera let you customize CPU, RAM, and storage independently — and offer a 30-day free trial, so you can benchmark your actual encoding workload before committing.
If you're going the self-hosted route for commercial use, make sure to review the FFmpeg licensing guide — LGPL vs GPL matters when you redistribute binaries.
FAQ
How much does AWS MediaConvert cost per minute of video?
In the Tokyo region, AWS MediaConvert charges $0.0135 per output minute for 1080p AVC (H.264) transcoding under the Professional Tier. Rates scale with resolution — $0.054/min for 4K, $0.0075/min for 720p. Premium codecs like HEVC and AV1, plus HDR processing, cost extra. Always check the current pricing page since rates vary by region.
At what volume does self-hosted FFmpeg become cheaper?
The break-even point is typically around 400–500 videos per month (4,000–5,000 output minutes at 1080p), assuming a minimal server setup at ~$58/month. If your maintenance labor costs are higher, the break-even shifts to 800–1,000 videos/month.
Can I use FFmpeg on AWS instead of MediaConvert?
Yes. You can run FFmpeg on EC2, ECS, or Lambda (via container). This gives you full control over encoding settings and eliminates per-minute charges, though you take on infrastructure management. It's a good middle ground if you're already deep in the AWS ecosystem.
Is GPU encoding (NVENC) worth the investment for cost savings?
GPU encoding with NVENC or QuickSync can process video 5–10x faster than CPU encoding. The trade-off is slightly lower quality at the same bitrate. For high-volume pipelines where throughput matters more than per-frame quality, GPU encoding reduces the number of servers you need — which directly lowers your fixed costs.
What hidden costs should I watch out for with self-hosted FFmpeg?
The three most overlooked costs are: (1) maintenance labor — patching, upgrades, and incident response, (2) egress/bandwidth fees when serving output files, and (3) storage costs if you keep source and output files on object storage rather than local disk. Budget at least 1–2 hours of engineering time per month for maintenance.
Does MediaConvert support all the codecs FFmpeg does?
No. MediaConvert supports mainstream codecs like H.264, H.265, VP8, VP9, and AV1, but FFmpeg supports hundreds of codecs and filters. If you need exotic formats, custom filter chains, or fine-grained control over encoding parameters, FFmpeg is your only option.
What happened to Azure Media Services?
Azure Media Services was retired on June 30, 2024. This is a concrete example of vendor lock-in risk with managed transcoding services. If you choose MediaConvert, abstract your transcoding logic behind an interface so you can switch providers if needed.
Wrapping Up
There's no universal winner between AWS MediaConvert and self-hosted FFmpeg. The right choice depends on your volume and your team's operational capacity.
- Under 500 videos/month (5,000 min) — MediaConvert: cheaper and simpler
- Over 500 videos/month (5,000 min) — Self-hosted FFmpeg: better cost efficiency
- Custom requirements or data residency constraints — FFmpeg, no question
I started with MediaConvert when 32blog's video processing was under 50 videos a month. The $9/month bill was a no-brainer. Once volume crossed 300 and kept climbing, I ran the numbers, spun up a VPS, and cut monthly costs by over 60%. The math really does work out — you just need to know where you stand.
Put real numbers on your current volume and growth trajectory. Once you know where you land relative to the break-even point, the decision becomes straightforward.
For a step-by-step guide to setting up your own FFmpeg encoding server, see FFmpeg VPS Encoding Server Setup. If you're new to FFmpeg itself, start with the FFmpeg usage tutorial.
Enterprise-grade cloud VPS with global data centers
- 13 data centers (US, EU, Asia, Middle East)
- Starting at $4/month for 1GB RAM — pay-as-you-go
- 30-day free trial available
Related articles:
- Build an FFmpeg Encoding Server on a VPS
- GPU-Accelerated FFmpeg: NVENC, QSV, and AMF Compared
- The Complete Guide to Video Compression with FFmpeg
- The Complete Guide to FFmpeg Licensing for Commercial Use
- Stream HLS Video with FFmpeg and a CDN
- AV1, H.265, and H.264 Compared
- Automate Video Processing with FFmpeg and Python