MpegFlowBlogBack to home
← All comparisons · AWS MediaConvert vs Cloudflare Stream

AWS MediaConvert vs Cloudflare Stream.

Honest side-by-side: where each one wins, the feature matrix that matters, pricing shape, and migration paths between them.

The 60-second verdict

AWS MediaConvert wins when you're already deep in AWS — IAM, S3, Lambda triggers, CloudFront delivery integrate natively. Cloudflare Stream wins when you want managed encoding + storage + global edge in one product on Cloudflare's platform. The decision often splits on which cloud you've consolidated on.

01When each one wins.
↳ Pick AWS MediaConvert when

You're already deep in AWS

IAM, S3 events, Lambda triggers, CloudWatch dashboards, SQS — MediaConvert sits in this stack natively. If your operational primitives are AWS-shaped, the integration cost of going elsewhere is real.

Your billing/procurement is via AWS

Many enterprises consolidate vendor spend into AWS for procurement and compliance reasons. MediaConvert benefits from that umbrella; everything else gets compared against it.

Your workload fits "submit job, get output" cleanly

For batch transcode of stable formats — VOD libraries, archive ingest — MediaConvert's job-shape API is simple and well-debugged. If you don't need per-stage control, you're paying for indirection you're not using.

You want zero infra ops

MediaConvert has no servers to scale, no queues to tune. For teams that genuinely don't want to know about the layer below, it disappears.

↳ Pick Cloudflare Stream when

You want video + delivery + storage from one vendor

Cloudflare Stream bundles encoding, storage, and a global CDN. If you don't want to operate any of those layers, the simplification is real. We don't bundle delivery; we orchestrate transcoding against your storage.

You're already on Cloudflare's edge

If your application runs on Cloudflare Workers + R2 + Pages, Stream sits naturally in that stack with shared auth, shared billing, and shared observability. Adding a separate transcoding vendor is friction you may not need.

Time-to-first-video is the priority

Upload, get a player URL, embed. That whole flow is minutes on Cloudflare Stream. If you're building a product where video is one feature among many and you don't want to learn the encoder, Stream is the right fit.

Your volume fits per-minute economics

Cloudflare's pricing is straightforward and competitive at small-to-mid volume. If your monthly minutes are under ~500K, the per-minute model usually wins on operational cost vs running your own fleet.

02Side by side.
FeatureAWS MediaConvertCloudflare Stream
Pipeline modelSingle-job submission APIUpload → encoded renditions → playback URL
Cloud coverageAWS only—
Pricing modelPer-minute of output, by tierPer-minute stored + per-minute delivered
Self-hostedNot availableNot available
Audit trailCloudTrail + CloudWatch (correlation required)Asset-level events
Codec coverageH.264/HEVC/VP9/AV1 (AV1 limited)H.264 + AV1 (limited HEVC)
DRM packagingSPEKE-based (DRMtoday, EZDRM, etc.)—
Live streamingSeparate product (MediaLive)Live ingest + low-latency HLS supported
TriggersS3 events, EventBridge, API—
ComplianceAWS-wide certs (SOC 2, ISO 27001, HIPAA, etc.)SOC 2, GDPR (Cloudflare-wide)
Vendor lock-inHigh (AWS-native primitives)—
Encoder visibility—Abstracted
Edge delivery—Bundled (Cloudflare CDN, 320+ POPs)
Storage—Cloudflare-managed (in their infra)
DRM—Signed-URL only (no DRM packaging)
03Pricing shape.
AWS MediaConvert · Per-minute, tiered

AWS MediaConvert

List prices in `us-east-1`: roughly $0.0075/min (Basic, up to 1080p), $0.015/min (Professional), $0.030/min (Pro 4K), $0.075/min and up (4K HDR / advanced). Per-minute of output, summed across renditions. A 60-min input → 5-rendition Professional ladder ≈ $4.50/job in transcode alone.

Cloudflare Stream · Per-minute stored + per-minute delivered

Cloudflare Stream

Cloudflare Stream lists at roughly $5 per 1,000 minutes stored and $1 per 1,000 minutes delivered. A library of 100,000 minutes streaming 200,000 minutes/month ≈ $700/month. Pricing scales linearly; verify current rates at cloudflare.com/products/cloudflare-stream/pricing.

04Migration paths.
↳ Moving from AWS MediaConvert

MediaConvert jobs are JSON specs against a defined schema. We have a parser that maps common MediaConvert job templates to MpegFlow DAG manifests for the most-used patterns (single-input H.264/HEVC ABR ladders, captions sidecar, simple watermarking). Complex jobs with conditional logic require a manual port. Talk to us during beta enrollment if migration scale matters for your decision.

↳ Moving from Cloudflare Stream

Cloudflare Stream is asset-shaped: upload, get URL. Re-creating that shape in MpegFlow is a small DAG (probe → encode-ladder → package → emit-to-bucket) plus your existing CDN. The harder migration is delivery — Stream bundles the CDN; with MpegFlow you keep delivery on your existing CDN (Cloudflare, Fastly, Akamai, or self-hosted via Varnish/nginx). Talk to us during onboarding for the specific Stream → MpegFlow + CDN shape.

A third option

If neither AWS MediaConvert nor Cloudflare Stream fits — usually because you need encoder visibility AWS MediaConvert or Cloudflare Streamdoesn't expose, multi-cloud parity, or self-hosted deployment — MpegFlow is the orchestration layer between your application and FFmpeg. Same binary runs as managed SaaS or self-hosted. See the dedicated MpegFlow vs AWS MediaConvert and MpegFlow vs Cloudflare Stream pages for the third-option view.

Need help deciding?

We work with both kinds of teams.

Beta cohort design partners come from both ends of this comparison — teams migrating off managed services for cost / control reasons, and teams choosing not to consolidate on a single vendor at all. Real conversation, no sales theater.

Apply Other comparisons
© 2026 MpegFlow, Inc. · Trust & complianceAll systems nominal·StatusPrivacy