Transcodely vs Cloudflare Stream
Dead-simple hosting with free encoding on Cloudflare’s network. Features and cost side by side, including the workloads where Cloudflare Stream wins.
No card needed · 30-second test encodes free · pay per output minute after
Where Cloudflare Stream wins
- The simplest possible "just host my videos" flow with zero encoding cost.
- Predictable per-minute pricing that is independent of resolution — high-bitrate 4K is cheap to deliver.
- One vendor if you already live on Cloudflare’s edge.
Where Transcodely fits better
- You need to choose the codec, profile and ladder — Stream gives you a fixed, automatic ladder with no codec choice.
- Low-bitrate or long-tail catalogues: per-GB billing is cheaper than per-minute when your bitrates are modest.
- You want to own the output — encode into your bucket, template the paths, or run transcode-only.
What each platform can do
| Capability | Transcodely | Cloudflare Stream |
|---|---|---|
| Encoding control | ||
| Codec choice Pick the video codec explicitly, per output. | H.264 · HEVC · VP9 · AV1 — explicit per-output | H.264-only VOD; AV1 = live-only beta |
| CRF, bitrate & profile control Set CRF, bitrate/VBV and encoder profile — not just a preset tier. | CRF · bitrate/VBV · profiles · 3 quality tiers | No encoder knobs |
| Custom ABR ladders Define exactly which renditions to produce. | Arbitrary rungs per output | Fixed ladder |
| Max output resolution Highest output resolution the encoder will produce. | Up to 8K (4320p) | 1080p output cap |
| HDR HDR transfer functions on the output, or SDR-only. | HDR10 / HLG on 10-bit HEVC (Main 10) — Dolby Vision in validation | HDR input downconverted to SDR |
| Per-title (content-aware) encoding Bitrate ladders auto-tuned to each source clip. | VMAF-targeted CRF search per output on the ladder you declared; 1.5x, charged only when a search actually chose the CRF | |
| Watermarking Burn a logo / image overlay into the encoded video. | Per-output overlay: 9-anchor ABR-consistent scaling, % width/margin, opacity, raw-pixel mode; PNG/WebP (alpha) | Burned-in; uploaded profile, 5 positions, relative scale + opacity; PNG ≤2 MiB |
| Formats & packaging | ||
| HLS · DASH · CMAF Adaptive-streaming container and manifest formats. | HLS (CMAF fMP4 + TS) · DASH · dual-format | HLS + DASH |
| DRM Widevine, PlayReady and FairPlay encryption. | Widevine + PlayReady on DASH · FairPlay on HLS (cbcs) — BYOK or key-server, no add-on tier | No DRM at any tier |
| Signed / private playback Signed URLs or tokens for private playback. | Signed CDN URLs + authenticated private videos | Tokens + IP/geo/domain rules |
| Subtitles & captions | ||
| Subtitle operations Passthrough, convert, burn-in and extract caption tracks. | Passthrough · convert · burn-in · extract — SRT ⇄ WebVTT, into HLS or DASH | WebVTT only; no SRT; no burn-in |
| AI auto-captions Machine-generated captions from the audio track. | €0.05/source-min · auto language detect · WebVTT/SRT sidecar + transcript, HLS subtitle rendition — generated during the encode job | 12 languages, free |
| Thumbnails & previews | ||
| Thumbnails & sprites Poster frames, sprite sheets and animated previews. | Single · interval · sprite sheets · timestamps · animated previews (WebP + MP4) · smart poster frame selection | Timestamp + GIF; no sprite/storyboard documented |
| Delivery & hosting | ||
| Hosting, CDN & player Managed CDN delivery and an embeddable player. | Optional managed hosting — CDN + embeddable player | 335+ locations + player |
| Bring-your-own storage Read from and write to your own object storage. | GCS · S3 · R2 · HTTP · any S3-compatible, in and out | Cloudflare-hosted |
| Direct MP4 outputs Progressive MP4/WebM files, not just streaming manifests. | MP4/WebM/MKV are first-class outputs | Opt-in downloads, billed as delivery |
| Live streaming Real-time RTMP/SRT ingest and live playback. | VOD pipeline only | RTMPS/SRT + WebRTC beta, simulcast to 50 |
| Platform & developer experience | ||
| Signed webhooks Signed, retried event delivery. | HMAC-signed · 15 events · 15-attempt/3-day retries · secret rotation · SSRF defense | Signed but ready/error only; one subscription per account |
| First-party SDKs Maintained client libraries for the API. | Go · TypeScript · Python, synced with every API release | Cloudflare-wide Go/TS/Python; nothing Stream-specific |
| Playback analytics Viewer-side playback and engagement metrics. | Plays, watch time, unique viewers per video; no heatmaps, geo or QoE | Minutes + country, native player only |
| Published validation matrix A public, testable capability matrix. | 168-case live-infrastructure test catalog, published at /conformance with its 3 tracked gaps | Not published |
Every cell verified against official vendor documentation on . Spot something out of date? Corrections welcome.
Two pricing models
Transcodely
Encoding at €0.010/min (H.264 1080p base, per rendition), storage at €0.020/GB·month, and CDN egress at €0.010/GB. No monthly fee — every add-on is a transparent multiplier.
Full rate cardCloudflare Stream
Encoding is free; you pay $5 per 1,000 minutes stored and $1 per 1,000 minutes delivered — priced per minute of video, not per GB.
Cloudflare Stream pricingCost calculator
Transcodely, Cloudflare Stream, and the rest of the market — priced side by side on your workload.
A growing library on the universal codec with real delivery.
What does your workload need? Price is only half the question — vendors that can’t run it are ruled out below.
- Bunny Stream Cheapest$110.00/mo1.0×
- Transcodely$178.20/mo1.6×
- Mux$220.15/mo2.0×
- Cloudflare Stream$351.53/mo3.2×
- Coconut transcode only$90.00/mo
Line-item breakdown & pricing sources
Bunny Stream
- Encoding
- $0.00
- Storage
- $10.00
- Delivery
- $100.00
- H.264 up to 1080p encodes free
- HEVC/AV1, VP9 & >1080p need premium encoding (extra $/min)
- ≈$0.01/GB storage & delivery (EU/NA rate; other regions higher)
- DRM (MediaCage) is an enterprise add-on
Transcodely
- Encoding
- $48.60
- Storage
- $21.60
- Delivery
- $108.00
- Full codec, profile, CRF & ladder control
- Encoding billed per rendition (3-rung ladder)
- Storage & egress metered per GB — no per-request fees
- Each job gets an encoding machine to itself while it runs; starting one carries a flat processing fee (€0.05–€0.50 by size class) added to every job an encoder picks up — negligible at monthly volumes like these
- Failed jobs bill nothing at all; a canceled job bills the processing fee plus whatever outputs finished first
Mux
- Encoding
- $0.00
- Storage
- $47.08
- Delivery
- $173.07
- Basic-quality encoding is free (fixed ladder, no codec choice)
- First 100k delivered minutes/month are free (3,662 GB here)
- Per minute of video: $0.0010/delivered, $0.0030/stored·mo at this resolution
- Cold-storage discount up to 60% after 30d inactivity (not modelled)
Cloudflare Stream
- Encoding
- $0.00
- Storage
- $78.47
- Delivery
- $273.07
- Free encoding — but a fixed ladder, no codec/profile choice
- Billed per minute of video, not per GB
- High-bitrate content is cheap here; low-bitrate is relatively pricey
Coconut
- Encoding
- $90.00
- Storage
- —
- Delivery
- —
- Transcode only — no hosting, storage or CDN
- $0.015 per output minute (3 renditions here)
- Bring your own storage + CDN (added cost, not shown)
How this is calculated
Ladder 480p · 720p · 1080p (3 renditions). Cloudflare and Mux free tiers are per minute of video, converted at an assumed 5.0 Mbps delivered (1080p (Full HD) / H.264 / AVC) — so Mux’s free allowance is ≈ 3,662 GB here. Capability filtering comes from our verified feature matrix; DRM add-ons ($100/mo Mux, $99/mo Bunny Enterprise) are the vendors’ own list prices (per-license fees excluded). Transcodely bills in EUR; converted at €1 = $1.08 (as of July 2026). Competitor list prices verified July 2026; negotiated/committed volume discounts are not modelled. Estimates, not quotes — every meter bills on actual bytes.Frequently asked questions
Try it on your own footage
No monthly fee, pay only for what you use. Point Transcodely at a URL and see the output — the codec control is yours.
No card needed · 30-second test encodes free · pay per output minute after