Pipe Overview
Pipe concepts and examples
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!
Concepts
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:
Protocol | Global Min. Latency | Transcoding |
---|---|---|
LLHLS | ~2 sec | Available up to 1080p |
WebRTC | <1 sec (realtime) | Unavailable |
Getting Started
Ready to give Pipe a spin? Navigate over to Getting Started