CCloud Releases
Home
Following

Cloud Releases

Service catalogues and updates come from each provider's public product listing and announcements.

Cloud Releases - Every AWS, Azure, GCP and Cloudflare update in one feed | Product HuntBuy me a coffee

Explore

  • Home
  • Latest updates
  • Following

About

  • About
  • Contact
  • Privacy Policy
  • Terms of Use

Providers

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud
  • Cloudflare

Not affiliated with any cloud provider. Product names and logos belong to their owners.

Buy me a coffee
  1. Providers
  2. ›Cloudflare
  3. ›Stream
  4. ›Update

Generally available•Oct 15, 2026

Ultra-low latency live with WebRTC is now Generally Available in Stream

StreamCloudflare · Developer platform

Stream WebRTC support lets you deliver high quality live video to thousands of concurrent viewers in milliseconds. WebRTC is compatible with native Web APIs and standard protocols, so creators can go live from a browser without needing a separate broadcast application. This powers platforms to build custom experiences with deep feature integration for creators as well as viewers. Here's how to get started with a Stream live input and a browser.

Usage-based billing for WebRTC begins today, October 15, 2026 and follows the standard rates for minutes of video delivered. Refer to pricing for rates.

What changed

While in beta, Stream’s WebRTC support was rebuilt from the ground up to leverage Cloudflare Realtime’s primitives for stability and scale while managing these components in Stream’s familiar, unified API that makes it easy to build. We also adopted the latest WHIP and WHEP protocol standards for Trickle ICE, server and client offer modes, and counter-offer support for improved player library compatibility and network traversal adaptability. Finally, WebRTC delivery will now be visible in Stream’s analytics and billable usage charts.

How does this relate to Cloudflare Realtime

Realtime exposes a set of tools and primitives to build applications that connect people, AI systems, and devices together in many-to-many experiences powered by WebRTC. Stream leverages these building-blocks to deliver one-to-many broadcast capabilities, controlled and managed by a single, unified API with features like the built-in player and analytics that make it easy to get started.

How do I get started

First, create a live input using cf, the API, or in the Stream Dashboard:

Creating a live input with cf or API

# Using cf, the new Cloudflare CLI cf stream live-inputs create # Using an API request, curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/stream/live_inputs \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -X POST

The response will include webRTC and webRTCPlayback properties, each containing a url for WHIP (broadcast) and WHEP (playback) respectively.

Next, you can go live using WHIP directly from a browser or supported broadcast software. Refer to our new tutorial that shows a dependency-free way to broadcast live video with browser-native JavaScript.

Finally, you can play using WHEP using Stream’s built-in player, a supported player app/library, or simple JavaScript:

Abbreviated JavaScript playback example

const pc = new RTCPeerConnection(); // 1. Ask to receive one audio track and one video track. pc.addTransceiver("video", { direction: "recvonly" }); pc.addTransceiver("audio", { direction: "recvonly" }); // 2. Attach incoming media to the video element as it arrives. const stream = new MediaStream(); document.getElementById("playback-video").srcObject = stream; pc.ontrack = (event) => stream.addTrack(event.track); // 3. Create the SDP offer and set it as the local description. const offer = await pc.createOffer(); await pc.setLocalDescription(offer); // 4. POST the offer to the WHEP endpoint. const response = await fetch(WHEP_URL, { method: "POST", headers: { "Content-Type": "application/sdp" }, body: offer.sdp, }); // 5. Apply the SDP answer returned by Cloudflare. const answer = await response.text(); await pc.setRemoteDescription({ type: "answer", sdp: answer });

Learn more in the Stream WebRTC docs or try the all-in-one tutorial for yourself.

Read the original announcement↗

More from Stream

All Stream updates →
  1. Rotate Stream broadcast keys for live inputs

    You can now rotate the broadcast credentials for a Stream live input without changing the live input identifier.

    Stream•Feature•Jul 31, 2026
  2. Introducing Stream Bindings for Workers

    You can now interact with your Stream video library using new bindings for Workers! This allows customers to upload content to Stream, provision direct uploads, manage videos, and generate signed URLs from a Worker without making authenticated API calls.

    Stream•Feature•May 7, 2026
  3. Media Transformations binding for Workers

    You can now use a Workers binding to transform videos with Media Transformations. This allows you to resize, crop, extract frames, and extract audio from videos stored anywhere, even in private locations like R2 buckets.

    Stream•Feature•Mar 18, 2026
  4. Stream live inputs can now be disabled and enabled

    You can now disable a live input to reject incoming RTMPS and SRT connections. When a live input is disabled, any broadcast attempts will fail to connect.

    Stream•Feature•Feb 24, 2026