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

# Play

> WebRTC for the session, HLS for the audience, RTSP for the next player.

Deliver is the way out. Choose it from who is watching, and from what the next device already expects.

<CardGroup cols={2}>
  <Card title="WebRTC and WHEP" icon="messages-square" href="/play/webrtc">
    Sub-second play for people who need to answer.
  </Card>

  <Card title="HLS" icon="list-video" href="/play/hls">
    Watch-only playback, with playlists a CDN can cache.
  </Card>

  <Card title="RTSP" icon="cctv" href="/play/rtsp">
    Hand the stream to a player or recorder that expects RTSP.
  </Card>

  <Card title="Restream" icon="share-2" href="/play/restream">
    Push the program on over RTMP or SRT.
  </Card>
</CardGroup>

## Latency you can plan for

WebRTC stays under half a second glass-to-glass on a healthy network. Standard HLS lands around 6–20 seconds. Encoder settings, the network path, and the player buffer all move those numbers.

The same ingest can feed more than one egress. A clinic can keep WebRTC for the consult and HLS for a recording review. A gallery can keep WebRTC for remote bidders and RTSP for a recorder in the room.

Protect each playback URL. See [Security](/security).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.