BlogsCloudflareVideo Streaming with Cloudflare Stream

Video Streaming with Cloudflare Stream

Video Streaming with Cloudflare Stream

43
posts
2017–2026

Cloudflare's video streaming capabilities have evolved significantly, starting with Cloudflare Stream for simplified video delivery and addressing complexities like live video latency, programmatic watermarking, and ingest/delivery protocols. This evolution has expanded to include support for modern streaming protocols like SRT and WebRTC for live streaming with sub-second latency, AV1 codec support for enhanced efficiency, automated storage management through scheduled deletion, high-definition capabilities, and now the introduction of Cloudflare Realtime and RealtimeKit, which provide a suite of products and SDKs for building real-time voice, video, and AI applications, abstracting WebRTC complexities and integrating AI capabilities.

2026

An API for MoQ: provision your own isolated relays

7/31/2026

Introduced a provisioning API for Media over QUIC (MoQ) relays, enabling the creation of isolated, authenticated relays across Cloudflare's global network. This API supports draft-16 of the MoQ Transport protocol, including PUBLISH and SUBSCRIBE_NAMESPACE features, and allows for granular control over publisher and subscriber credentials via tokens.

2025

Innovating to address streaming abuse — and our latest transparency report

12/19/2025

This post details Cloudflare's technical and operational innovations to combat unauthorized streaming and copyright infringement. It describes the development of an API for rightsholders to report abuse, the use of internal metrics to verify reports, and the implementation of automated systems to respond to streaming reports at scale. The post also highlights the evolution of technical tools to prevent unauthorized streaming on non-hosted services and the use of information gleaned from these efforts in broader cybersecurity initiatives. It contrasts these technical solutions with less effective, infrastructure-layer blocking demands.

Extract audio from your videos with Cloudflare Stream

11/6/2025

Introduced audio extraction capabilities for Cloudflare Stream. This involved extending both the Video-on-Demand (VOD) pipeline to allow for M4A downloads and the On-the-Fly Encoding (OTFE) pipeline to support on-the-fly audio extraction via Media Transformations. For VOD, new type-specific API endpoints were added, and the asynchronous queue consumer was updated to handle audio download types and use ffmpeg templates for M4A encoding. For OTFE, validation logic was extended to check for audio tracks, and a new transformation handler was built to discard visual tracks and deliver M4A files.

MoQ: Refactoring the Internet's real-time media stack

8/22/2025

Introduces Cloudflare's first Media over QUIC (MoQ) relay network, running on every Cloudflare server globally. MoQ is an open protocol designed to unify real-time media streaming by combining low-latency interactivity, scalability, and architectural simplicity on top of QUIC. The post details the historical compromises in RTMP, HLS/DASH, and WebRTC, and explains MoQ's data model (Tracks, Groups, Objects) and network architecture (Publishers, Subscribers, Relays) for efficient media fanout. It highlights MoQ's ability to run over QUIC or WebTransport and its potential for various real-time data applications beyond video.

Make your apps truly interactive with Cloudflare Realtime and RealtimeKit

4/9/2025

Introduces Cloudflare Realtime, a suite of products for real-time audio and video experiences, and RealtimeKit, a collection of mobile and web SDKs and server-side services designed to simplify the development of real-time voice, video, and AI applications by abstracting WebRTC complexities. Highlights the acquisition of the Dyte team to accelerate RealtimeKit development. Announces the General Availability of Cloudflare's SFU and TURN services, with SFU now supporting simulcast and TURN offering advanced analytics. Details a partnership with Hugging Face to provide free TURN bandwidth for FastRTC users.

Dynamically optimize, clip, and resize video from any origin with Media Transformations

3/7/2025

Introduced Media Transformations, a new service that extends Image Transformations capabilities to short-form video files. This allows dynamic optimization, clipping, and resizing of videos fetched directly from customer origins (R2, S3) into MP4 format. Key features include URL-based transformations with options for mode (video, frame, spritesheet), time, duration, fit, height, width, and audio control. The service leverages the On-the-Fly Encoder (OTFE) platform used by Stream Live and caches transformed content. Input limits include file size (<40MB), MP4 format, and h.264 encoding. Pricing will align with Image Transformations post-beta.

Behind the scenes with Stream Live, Cloudflare’s live streaming service

1/2/2025

This post details the technical architecture and implementation of Cloudflare Stream Live, focusing on the ingest and viewing sides. It explains the use of Anycast IPs for low-latency broadcaster connections, Spectrum for protocol handling (RTMPS, SRT, WHIP) and security, Durable Objects for managing broadcast state and configuration, and R2 for storing original media segments. It also describes the relay architecture in Go for packet processing, normalization, and the generation of HLS/DASH playlists for viewer playback.

2024

Introducing high-definition portrait video support for Cloudflare Stream

8/16/2024

Introduced high-definition portrait video support for Cloudflare Stream by modifying the encoding pipeline to process portrait videos with constrained target width and a new set of standard resolutions (e.g., 240x426 up to 1080x1920). This involved updating the Stream API service to enqueue portrait rendition jobs, modifying the on-the-fly encoding pipeline (hosted on Cloudflare Workers) to generate portrait resolutions, and adjusting the Stream player to display quality levels based on the constraining dimension. The change resulted in visibly higher quality portrait videos, confirmed by PSNR analysis showing up to an 8% increase. Addressed implementation challenges including ensuring correct renditions for downloads and clipping, and fixed edge cases related to negative bitrates in livestream renditions and incorrect aspect ratio scaling for small videos.

Introducing Stream Generated Captions, powered by Workers AI

6/20/2024

Introduced AI-generated captions for on-demand videos and live stream recordings within Cloudflare Stream, leveraging Workers AI and the Whisper model. This involved pre-processing audio into 30-second batches compatible with Whisper, parallelizing inference requests to Workers AI, and re-ordering out-of-order responses to ensure sequential and accurate WebVTT caption file generation.

What’s new with Cloudflare Media: updates for Calls, Stream, and Images

4/4/2024

Introduced Live Instant Clipping API for Cloudflare Stream, allowing viewers to instantly clip moments from ongoing streams without re-encoding. This involves providing a manifest to preview recent live content and timing information for clip selection, generating on-the-fly clips as standalone video files or HLS manifests. Also introduced a pre-built upload widget for Cloudflare Images to simplify user uploads and automatic face cropping using the RetinaFace ML model for optimizing images of people.

Cloudflare Calls: millions of cascading trees all the way down

4/4/2024

This post announces the open beta of Cloudflare Calls, a WebRTC-based real-time audio/video application platform. It details how Cloudflare leverages its global network as a singular SFU, abstracting away the complexities of WebRTC infrastructure for developers. Key contributions include explaining the challenges of scaling WebRTC with peer-to-peer and traditional SFU models, and how Cloudflare Calls utilizes Anycast for low-latency connections, eliminates manual SFU region selection, and manages PeerConnections through a unified HTTP API for signaling and DTLS/ICE handling.

2023

Cloudflare Stream Low-Latency HLS support now in Open Beta

9/25/2023

Introduced Low-Latency HTTP Live Streaming (LL-HLS) support for Cloudflare Stream, reducing glass-to-glass latency to as little as three seconds. This enhancement builds upon existing HLS capabilities and is available in open beta with no additional pricing changes. The post details the technical aspects of LL-HLS, including its extension of the HLS standard, the importance of client-side buffering, and recommended broadcast settings (h264 codec, 1-second GOP size). It also outlines the process for enabling LL-HLS in the Cloudflare dashboard and testing with OBS Studio and the built-in player.

Introducing scheduled deletion for Cloudflare Stream

8/11/2023

Introduced scheduled deletion for Cloudflare Stream, allowing users to automatically remove on-demand videos and live recordings at a specified time. This feature can be configured via the Cloudflare dashboard or API for both new and existing videos, as well as for live input recordings based on a number of days after completion.

Introducing Low-Latency HLS Support for Cloudflare Stream

6/19/2023

Introduced Low-Latency HLS (LL-HLS) support for Cloudflare Stream, reducing glass-to-glass latency from ~30 seconds to under 10 seconds. This was achieved by simplifying the underlying pipeline to process individual frames instead of entire keyframe intervals, thereby reducing internal buffer duration to a maximum of twice the keyframe interval.

2022

Bringing the best live video experience to Cloudflare Stream with AV1

10/5/2022

This post introduces support for the AV1 codec in Cloudflare Stream for live videos and their recordings. It details the technical benefits of AV1, including its bandwidth efficiency compared to H.264, and explains how Cloudflare's control over its network infrastructure allows for real-time AV1 encoding using dedicated hardware encoders. The post also addresses the adoption challenges of AV1 due to encoding intensity and highlights how Cloudflare Stream's integrated approach simplifies AV1 adoption for users by enabling on-demand encoding.

Lights, Camera, Action! Business and Pro customers get bundled streaming video

9/30/2022

This post announces the bundling of Cloudflare Stream with Business and Pro subscriptions, providing a complimentary allocation of 100 minutes of storage and 10,000 minutes of delivery per month. It details the no-code upload process, the Stream Player's customization options (poster, start time, default text track, primary color), and highlights additional features like dynamic thumbnail generation, multi-language captions, live streaming, and analytics. The post emphasizes the privacy benefits of using Cloudflare Stream over free hosting services.

Build real-time video and audio apps on the world’s most interconnected network

9/27/2022

Introduces Cloudflare Calls, a new product that exposes APIs for building real-time audio/video applications using WebRTC. It acts as a global 'super peer' by leveraging Cloudflare's network to route media tracks between users, abstracting away the complexity of traditional SFUs and peer-to-peer connections. It offers improved reliability, scalability, and observability compared to existing WebRTC solutions, and enhances privacy by eliminating direct IP address exposure between participants.

WebRTC live streaming to unlimited viewers, with sub-second latency

9/27/2022

This post introduces the integration of WebRTC with Cloudflare Stream, enabling live video streaming with sub-second latency to unlimited concurrent viewers. It leverages WHIP for ingestion and WHEP for egress, utilizing Cloudflare's global network, Workers, and Durable Objects for a decentralized and low-latency experience. The pricing remains consistent with existing Stream offerings.

Stream Live is now Generally Available

9/21/2022

This post announces the general availability of Stream Live, a feature of Cloudflare Stream that enables developers to build live video features in websites and native apps. It highlights the challenges of streaming live video at scale (bandwidth, real-time encoding, ingest/delivery location, protocol evolution) and positions Stream Live as a solution that leverages Cloudflare's global network and hardware for sub-second latency. Key features include free encoding, ingestion, and analytics, with simple per-minute pricing for delivered and stored video. It also details the steps for creating a live input, using the RTMPS key with broadcasting software, previewing the stream, and adding playback to websites or apps.

Stream with sub-second latency is like a magical HDMI cable to the cloud

5/13/2022

This post introduces sub-second latency for Cloudflare Stream playback over SRT and RTMPS, achieved by routing video traffic within the Cloudflare network and constructing dynamic distribution topologies. It highlights the benefits of low latency for interactive use cases and explores various video delivery protocols beyond HTTP, including RTMPS, SRT, WebRTC, QUIC, and WebTransport.

Bring your own ingest domain to Stream Live

5/13/2022

Introduced the ability for Cloudflare Stream customers to configure their own custom ingest domains for live video ingestion. This allows creators to broadcast to a branded domain (e.g., push.live-yoga-classes.com) instead of a generic Cloudflare domain. The implementation leverages secure CNAMEing and integrates with Cloudflare Spectrum to ensure encrypted ingestion via RTMPS and SRT protocols without compromising privacy. The post details the configuration steps within the Cloudflare dashboard.

Cloudflare Stream simplifies creator management for creator platforms

5/13/2022

Introduced the 'creator' property for Cloudflare Stream direct uploads, allowing platforms to associate uploaded videos with internal creator IDs. This enables filtering Stream Analytics by creator via the Dashboard or GraphQL API, simplifying reporting and management of creator-specific video usage and consumption.

Stream now supports SRT as a drop-in replacement for RTMP

3/10/2022

Introduced SRT support for Cloudflare Stream, enabling translation between SRT and RTMP. This allows users to leverage SRT's lower latency and improved network resilience while maintaining compatibility with existing RTMP infrastructure. The implementation scales to tens of thousands of concurrent streams and runs globally on Cloudflare's edge network.

2021

New Stream Player customizations to boost your video experience

11/19/2021

This post introduces new customization options for the Cloudflare Stream Player, enhancing its branding and user experience. New features include: `primaryColor` property for customizing the play button and seekbar, `startTime` property for deep linking to specific video timestamps, and native support for enabling localized captions by default via a language code parameter. The Embed tab has also been revamped for easier configuration and previewing of these customizations, including a 'Copy from player' option for poster images.

Build your next video application on Cloudflare

11/19/2021

This post details how to build a custom video application using Cloudflare Stream, Access, Pages, and Workers. It demonstrates fetching video lists via the Stream API, securing videos with signed URLs and Cloudflare Access, uploading videos using one-time upload URLs, and integrating live streaming capabilities. The post highlights the seamless integration of Pages with Workers for deploying such applications.

Cloudflare Images introduces AVIF, Blur and Bundle with Stream

11/18/2021

This post introduces AVIF image format support for Cloudflare Images, leveraging the Accept header to serve AVIF or WebP/JPEG based on client capabilities. It also adds a blur functionality for image variants, enabling preview use cases and integration with signed URLs for content protection. The post details how to serve images from custom domains using Workers and announces bundled pricing for Cloudflare Images and Stream. It also mentions upcoming Images Analytics.

Real-Time Communications at Scale

9/30/2021

Introduced WebRTC Components, a new suite of products designed to help build the next generation of real-time, interactive applications. This includes leveraging Cloudflare's global edge network to improve connectivity for existing WebRTC-based video and audio applications, enabling scaling to tens of thousands of participants, leveraging DDoS mitigation, and enforcing IP and ASN-based access policies. The platform will offer developer-first APIs for managing participants, rooms, and channels, integration with Cloudflare for Teams, broadcasting to traditional HTTP streaming clients and recording with Stream Live, ingesting from RTMP sources with Stream Connect, and embedded serverless capabilities via Cloudflare Workers.

Serverless Live Streaming with Cloudflare Stream

9/30/2021

Introduces Stream Live, a serverless, end-to-end live-streaming platform. It handles RTMPS ingestion, automatic recording, optimization, and delivery via the Stream player or HLS/DASH. Key features include built-in player with access control (tokenized links, geo-fencing, IP restrictions), instant recordings (<1 second conversion), global scale with ingest/delivery at all Cloudflare locations, low latency (as low as 15 seconds), and pay-as-you-go pricing based on storage and viewing duration.

Announcing Cloudflare TV as a Service

9/30/2021

This post details the internal production stack used to build and operate Cloudflare TV, including Brave (BBC), Zoom, Cloudflare Workers, Cloudflare Stream, and Cloudflare for Teams. It also announces Cloudflare TV as a Service, making the technology available to other businesses. Future enhancements will leverage the new Real-Time Communications Platform and Stream Live for improved live session handling and video encoding offload.

Cloudflare Images Now Available to Everyone

9/15/2021

This post announces the general availability of Cloudflare Images to all customers, marking a significant expansion of Cloudflare's media handling capabilities beyond video streaming. It details the core features of Cloudflare Images, including efficient storage of images and their variants, built-in access control via signed URLs, elimination of egress costs by consolidating storage, resizing, and delivery into a single product, and flexible upload methods. It also outlines the initial variant resizing options and optimized image delivery formats, with plans for future enhancements like AVIF support and analytics.

Optimizing images on the web

9/15/2021

This post introduces Cloudflare's Image Optimization Testing Tool and details how to optimize images for web performance. It explains the impact of image optimization on user experience and Core Web Vitals (LCP, CLS), and outlines techniques such as delivering appropriate dimensions using srcset/sizes or Client Hints, choosing optimal formats (AVIF, WebP), adjusting quality, and ensuring correct markup with dimensions to minimize layout shifts.

Building Cloudflare Images in Rust and Cloudflare Workers

9/15/2021

This post details the technical implementation of Cloudflare Images, highlighting the use of Rust for reusable image processing libraries (Image Resizing, Polish) and Cloudflare Workers for edge delivery, direct uploads, and URL signing. It explains the architecture involving core services, image resizing, delivery Workers, and storage, and discusses how variants, cache purging, and URL signatures are managed. It also touches upon future enhancements like resizing hints on upload and serving images from custom domains, further solidifying the expansion of media handling capabilities beyond video streaming.

How Cloudflare Images can make your life easier

9/15/2021

This post introduces Cloudflare Images as a new service, detailing customer pain points related to image management including egress fees, complex bucket management, load times, and high maintenance. It explains how Cloudflare Images addresses these issues by offering zero egress costs, a unified storage solution, minimal engineering effort through APIs and a UI, and on-the-fly image processing for optimization and SEO benefits. This post significantly expands the scope of the 'Video Streaming with Cloudflare Stream' feature thread to encompass comprehensive media handling, specifically image management.

Announcing Cloudflare Images beta to simplify your image pipeline

4/20/2021

Introduced Cloudflare Images, a new service for storing, resizing, optimizing, and delivering images at scale. It addresses fundamental questions of image infrastructure by eliminating egress costs and the need for managing storage buckets. The service offers simple APIs for image upload and retrieval, and introduces 'Variants' for defining and securing different image sizes and access levels. It also provides intelligent delivery by automatically serving optimized image formats (e.g., WebP) at the edge.

Cloudflare Stream now supports NFTs

4/16/2021

Introduced a new API endpoint to associate a video on Cloudflare Stream with an ERC-721 token ID and contract address. This allows for the representation of video ownership on the blockchain and enables the transfer of administrative rights over the video as the NFT ownership changes. Also added a 'claim' API for new NFT owners to take control of the associated video and updated the Stream video player to display a link to the governing NFT.

Live stream to multiple platforms with Stream Connect

4/12/2021

Introduced Stream Connect beta, enabling end-to-end live broadcasting by allowing users to push RTMPS feeds to the Cloudflare edge for restreaming to platforms like Facebook, YouTube, and Twitch. This addresses bandwidth bottlenecks by sending a single feed to Cloudflare, which then redistributes it. Stream Connect also automatically selects optimal ingest servers and uses Argo Smart Routing to improve reliability and lower latency.

2020

Add Watermarks to your Cloudflare Stream Video Uploads

9/11/2020

Introduced a Watermarks API for Cloudflare Stream, allowing programmatic addition of watermarks to video uploads. This includes a new `/stream/watermarks` endpoint for creating watermark profiles (specifying image, position, opacity, padding, scale) and support for a `watermark` object with a watermark UID during video upload.

Making Video Intuitive: An Explainer

5/12/2020

This post explores the impact of video coding settings on perceived video quality, specifically focusing on frame rate, resolution, and bitrate. It uses FFmpeg to demonstrate how manipulating these parameters can degrade video quality, providing practical examples and command-line arguments for each manipulation. The post aims to make the technical aspects of video encoding more intuitive by showing the "gloriously bad" results of various settings.

Remote Work Isn’t Just Video Conferencing: How We Built CloudflareTV

3/20/2020

This post details the technical implementation of CloudflareTV, an internal application for video on demand. It describes how Cloudflare Stream's signed URLs are used for access control, generating temporary tokens with Cloudflare Workers and API keys. It also explains how video metadata, specifically tags, can be updated via API calls to categorize videos. The post outlines fetching video data programmatically using the Stream API within a Workers script and securing the application with Cloudflare Access, integrating with Google as an identity provider and setting up access policies based on email domains.

2019

Live video just got more live: Introducing Concurrent Streaming Acceleration

5/16/2019

Introduced Concurrent Streaming Acceleration, a technique to reduce live video end-to-end latency by modifying CDN caching infrastructure to allow multiple clients to access an un-cached segment simultaneously while only pulling it once from the origin. This eliminates the 'cache lock' bottleneck that previously forced clients to wait for the entire segment to be cached before delivery.

2018

Use Cloudflare Stream to build secure, reliable video apps

8/7/2018

This post announces the general availability of Cloudflare Stream, a product designed to simplify video streaming for developers. It details a single API endpoint for uploading videos, which then handles encoding into multiple resolutions, preparing DASH and HLS manifest files, and serving the video globally from Cloudflare's network. The product aims to reduce development time and costs for video streaming businesses by abstracting away the complexities of encoding, storage, and delivery.

2017

How Cloudflare Streams

9/27/2017

This post details the initial architecture and implementation of Cloudflare Stream, focusing on its three core components: upload, encoding, and delivery. For uploads, it introduces the use of the Tus protocol for resumable large file uploads. For encoding, it explains the need for multiple codecs (H.264, MP4, with plans for VP9 and HEVC) to ensure cross-browser compatibility. For delivery, it describes the use of progressive downloads and adaptive streaming (HLS and MPEG-DASH) with chunked video segments and manifest files. It also highlights the dynamic assignment of data center IP ranges based on underutilization to optimize delivery cost and performance, using Anycast for the first chunk and underutilized data centers for subsequent chunks. Finally, it mentions the integration with the Cloudflare Apps platform and the opening of advanced sign-ups for beta.

Introducing Cloudflare Stream: Fixing the Streaming Video Market

9/27/2017

Introduced Cloudflare Stream, a new product that integrates video encoding, global delivery (CDN), and player into a single package. The service simplifies the workflow for developers by offering an API endpoint for uploading videos and providing an embeddable link for adaptive streaming. Pricing is based on consumption duration, inclusive of encoding, delivery, and player, with features like lossless compression enabled by default. The goal is to lower the barrier to entry for video streaming applications.