Trending: On-device modelsSearch
iHeartGeek
iTECH

Cloudflare's Streamline builds custom video pipelines on Workers

A new Cloudflare playground called Streamline shows how to build bespoke video pipelines — live annotations, burned-in subtitles — on Workers, Containers and Durable Objects.

Cloudflare's Streamline announcement card, showing the post title beside an illustration of a browser window and video-signal graphics

Cloudflare has published Streamline, a developer playground that demonstrates how to build a custom video pipeline on its Developer Platform. The write-up, dated 2 October 2026, walks through a system that can modify a video and immediately publish the result as a livestream or as a new hosted video.

Beyond the standard product

Cloudflare Stream already handles hosted video and livestreaming for most customers. The gap Streamline addresses is the bespoke work: rendering dynamic annotations over a livestream, or producing an alternate copy of a video with subtitles burned in. Those tasks need a processing pipeline of their own, and the post lays out one assembled from Cloudflare's own primitives.

Containers do the work, Workers do the control

The design splits into a Media Engine and a controlling Application. The Media Engine runs in a Container and handles input, output and processing; today it is a Go control harness driving an FFmpeg processor, though Cloudflare treats the choice of codec as an internal detail rather than part of the interface. The Application is built on Workers and can be a browser app, an agent or an embedded system, with a Durable Object acting as orchestrator to manage the session, the container's lifecycle and a preview relay.

A session that outlives its request

Video jobs run for minutes or hours, so the pipeline cannot be tied to the request that starts it. Cloudflare describes a session that survives the controlling application disconnecting, bounded by a maximum duration so a job always closes eventually. Containers that would normally sleep when idle are kept alive through an overridden expiry callback, which renews activity until the session's own deadline and destroys the container afterwards.

What Streamline can move

The engine can pull RTMPS from one Stream Live input and publish to another, pull a Stream HLS manifest and its segments to use hosted videos as input, take a webcam feed from the controlling app, and push preview video over a WebSocket to a Durable Object relay. Cloudflare exports two packages — a high-level, session-based client API and the Durable Object base class — and notes that the system can run locally during development against a Docker container.

Our opinion

Cloudflare's habit of shipping a playground rather than a product is doing a lot of work here. Streamline is not something to buy; it is a worked example that shows what the Developer Platform's primitives can be bent into, and the architecture is the argument: Containers for the long job, Workers for the control plane, Durable Objects for the orchestration in between. That is a more honest pitch than "we built a video editor", because it tells developers where the seams are and where they would have to substitute their own encoder. The unresolved question is whether anyone outside Cloudflare wants to run FFmpeg in a container they now have to manage, or whether the real value is the pattern and the packages — in which case Streamline will have done its job the moment it is copied.