Complete documentation for video upload, encoding, and delivery.
Media and streaming
Deliver video, images, and rich media at scale with encoding, optimization, and global distribution. Cloudflare Stream handles video upload, encoding, and adaptive bitrate delivery. Images transforms and optimizes images on-the-fly. R2 stores media files with zero egress fees. Cache serves content from 300+ edge locations. Hotlink Protection and signed URLs secure media from unauthorized access.
- Upload, encode, and deliver videos
- Optimize and transform images for the web
- Store media at scale
- Cache and accelerate media delivery
- Secure your content
Build a complete video hosting and delivery solution:
- Stream handles upload, encoding, and adaptive bitrate delivery
- Stream Live enables live streaming with automatic recording
- Signed URLs protect content with token authentication
Serve optimized images without pre-generating variants:
- R2 stores original high-resolution images
- Images transforms images on-the-fly based on URL parameters
- Workers applies custom logic for format selection and caching
Handle media uploads from users at scale:
- R2 receives uploads directly via presigned URLs
- Workers validates and processes uploaded content
- Stream or Images optimizes media for delivery
- A Cloudflare account ↗. Stream and R2 are account-level offerings. You do not need a domain added to Cloudflare to upload, encode, or store media.
- For Image Transformations: enable the feature per domain from the Transformations page ↗ in the dashboard. Refer to Image Transformations.
- A Cloudflare account ↗.
- A domain added to Cloudflare with DNS records proxied through Cloudflare. This is required for CDN caching, image optimization (Polish), and cache rules.
- For Image Transformations on an existing domain: enable the feature from the Transformations page ↗ in the dashboard. Refer to Image Transformations.
Complete documentation for image optimization and transformation.
Explore how media companies use Cloudflare.