Pipe is currently not available to all users. We’re working hard to get it into a production-ready state. Follow us on Twitter to stay up to date.

From one to one million viewers: Pipe delivers your realtime video to users around the globe in real time. Just pipe us an RTP or RTMP stream and we’ll take care of the rest!


There are only 3 core concepts you need to be aware of when integrating Pipe:

📺 Rooms

Rooms are the logical abstraction of streams. You can stream your content to a room, then have multiple users “consume” the same room on the frontend. If we use Twitch as an example, then each Twitch broadcast would be it’s own Pipe Room.

🔑 Room Tokens

When creating a Pipe room with our API, the response will include a join_token string. You need to pass this token to your frontend apps, which can use this token to consume the stream by passing it into the Room class constructor.

🛰️ Delivery Protocols

When streaming to Pipe, you have the choice of using RTP or RTMP, however you must also specify what protocols you want users to consume your streams through. You can choose to use one or multiple delivery protocols at once when creating the Pipe room, then you can choose which protocol to consume using the frontend SDK (preferProtocol).

We currently support LLHLS (low-latency HLS) and WebRTC. They both have their own trade-offs:

ProtocolGlobal Min. LatencyTranscoding
LLHLS~2 secAvailable up to 1080p
WebRTC<1 sec (realtime)Unavailable

Getting Started

Ready to give Pipe a spin? Navigate over to Getting Started