> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hop.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipe Overview

> Pipe concepts and examples

<Note>
  Pipe is currently not available to all users. We're working hard to get it
  into a production-ready state. [Follow us on
  Twitter](https://twitter.com/joinhop) to stay up to date.
</Note>

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](/pipe/getting-started)
