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

# How Vasl works

> One pipeline from contribution to playback.

A stream enters Vasl, gets adapted if the next hop needs it, and leaves toward a player or another server. You run that path on one install.

## Ingest

Publish from the encoder, the room, the file, or a URL already on the network.

| In | Typical source |
| - | - |
| [WebRTC / WHIP](/publish/webrtc) | Browsers, and encoders that already speak WHIP |
| [SIP](/publish/sip) | Room systems and phones, with audio and video |
| [RTMP](/publish/rtmp) | OBS, vMix, Wirecast, and desk encoders |
| [RTSP](/publish/rtsp) | Cameras and recorders, pulled or pushed |
| [SRT](/publish/srt) | Contribution across a long or lossy link |
| [NDI](/publish/ndi) | Switchers, graphics, and cameras on the studio network |
| [File or URL](/publish/files) | A file you already have, or a stream at an address you can reach |

## Process

Vasl transmuxes when the next protocol can take the codec. It transcodes audio and video when it cannot. Recording, poster frames, level and mix, and cue points sit on the same path. See [Process](/process) and [Recording](/recording).

## Deliver

| Out | Use it when |
| - | - |
| [WebRTC / WHEP](/play/webrtc) | Someone in the session needs to answer |
| [HLS](/play/hls) | People are only watching, and a CDN may cache the playlist |
| [RTSP](/play/rtsp) | The next player or recorder expects RTSP |
| [RTMP or SRT restream](/play/restream) | The program has to move to another destination |

## What stays on the install

Metrics, logs, and a per-stream trace are part of the same machine. See [Operations](/operations). Keys, signed links, SSO, and TLS are how you keep the URLs closed. See [Security](/security).

A second machine is a load balancer and a warm standby that you operate. Vasl leaves that design with you. See [Install](/install).


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