CloudflareTaylor SmithAnnouncement
Streamline: custom video pipelines with Cloudflare Stream and Workers
Summary
Cloudflare released Streamline, a developer playground that demonstrates how to build custom video pipelines using its Developer Platform. Streamline combines Workers, Containers, and Durable Objects to create long-running media processing sessions that can render dynamic annotations or burn in subtitles on livestreams and hosted videos. The architecture consists of a Media Engine running in a Container, controlled by a Worker application that handles orchestration and preview via Durable Objects. The Media Engine uses FFmpeg for processing and supports inputs from RTMPS, HLS, or webcam, with output to Cloudflare Stream or WebSocket preview. Streamline is open source, with repositories for the media engine and an example application, and a public playground is available for testing.
Context
The post describes Streamline as a new developer playground that demonstrates how to build custom video pipelines on Cloudflare’s Developer Platform. It explains the architecture using Workers, Containers, and Durable Objects, and provides details on the Media Engine, API, and deployment.
Approach / What changed
Streamline uses a Container running a Go-based controller and FFmpeg processor, controlled by a Worker application with Durable Objects for orchestration and preview relay. The system supports RTMPS, HLS, and webcam inputs, and outputs to Cloudflare Stream or WebSocket preview.
Takeaways
Streamline uses a Container-based Media Engine controlled by a Worker, with Durable Objects for session orchestration and preview relay.
The Media Engine currently uses FFmpeg for processing, but the architecture is modular to allow replacing it with dedicated encoding products.
Streamline is open source and includes a public playground for testing, with separate repositories for the media engine and example application.
FAQ
What video inputs does Streamline support?
Streamline supports RTMPS playback from Stream Live, HLS manifests and segments from hosted videos, and direct webcam input.
How does Streamline handle long-running sessions?
The Container continues processing even if the controlling Worker disconnects, with a maximum duration to prevent indefinite runs.
Is Streamline available for my own projects?
Yes, Streamline is open source on GitHub, and a public playground is available at playground.streamline-video.workers.dev.
Source and freshness
- Source
- blog.cloudflare.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.