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.
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 ajoin_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 |