Publish a WebRTC stream to Cloudflare Stream Live via WHIP and play it back via WHEP

domain: developers.cloudflare.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. In the Cloudflare dashboard, navigate to Stream → Live Inputs and create a Live Input to obtain a WHIP ingest URL and a WHEP playback URL.
  2. Alternatively, create the live input via the Cloudflare Stream API and extract the webRTC.url (WHIP) and webRTCPlayback.url (WHEP) fields from the response.
  3. Point any WHIP-compatible encoder or browser client at the WHIP URL; authentication is embedded in the URL's query parameters so no separate bearer token is needed.
  4. For playback, use any WHEP-compatible player by providing the WHEP URL; Cloudflare Stream's implementation follows the WHEP draft specification.
  5. Cloudflare Stream also records the live input automatically to a Cloudflare Stream video asset; retrieve the video ID from the live input after the stream ends.
  6. Monitor stream state via the Cloudflare Stream API or dashboard; WHIP/WHEP now uses the Cloudflare Realtime (Calls) backend.

Known gotchas

Related routes

Implement live clipping (clip creation during a live stream) and VOD handoff with Cloudflare Stream
developers.cloudflare.com · 6 steps · unrated
Ingest a WebRTC stream into Mux via WHIP
docs.mux.com · 6 steps · unrated
Accept a WHIP publish into LiveKit via Ingress and forward it to room participants
docs.livekit.io · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans