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

> Ingest a pushed RTMP livestream, record it in chunks, and trigger workflows automatically as each chunk finishes.

# Livestreams

> Use `Livestreams` when your content arrives as a live RTMP broadcast — from OBS, a hardware encoder, or a phone streaming app — instead of an uploaded file or a pull-based audio feed.

## What Livestreams is for

Open **Livestreams** from the left sidebar, under **Media**, to manage the RTMP sources that feed your workflows.

`Livestreams` is the push-based counterpart to the [Audio Livestream](/nodes/audio) trigger node. Audio Livestream pulls from a URL you give it (HLS, Icecast, a direct audio stream). `Livestreams` instead gives you a server address and a stream key that you configure inside your own broadcasting software, which then pushes video to Overlap.

<Frame>
  <img src="https://mintcdn.com/overlap-1436d2b7/522wBoN0afgjxKqE/images/generated/beta-livestreams-list-framed.png?fit=max&auto=format&n=522wBoN0afgjxKqE&q=85&s=976a8ac6520c45a5946eaffe89b337bb" alt="Livestreams page with a configured livestream" width="2192" height="1323" data-path="images/generated/beta-livestreams-list-framed.png" />
</Frame>

## How it works

Each livestream you create has three parts:

* **Server URL and stream key** — the RTMP address and key your encoder connects to
* **Ingestion interval** — how often the incoming stream is cut into a recorded chunk, from every 5 minutes up to every hour
* **Workflows to trigger** — one or more workflows that run automatically on every chunk

While your encoder is connected and publishing, Overlap records the stream continuously and, at the end of each interval, uploads the finished chunk and triggers every workflow you selected with that chunk as the input. There's nothing to start or stop manually beyond connecting and disconnecting your encoder — the livestream's status updates between `Live` and `Idle` as the connection comes and goes.

<Info>
  ### Schema

  * **Input**: An RTMP stream published to your livestream's server URL and stream key
  * **Output**: One recorded video chunk per ingestion interval, sent into each selected workflow as its trigger input
</Info>

## Create a livestream

Click **New Livestream** to open the setup dialog.

<Frame>
  <img src="https://mintcdn.com/overlap-1436d2b7/522wBoN0afgjxKqE/images/generated/beta-livestreams-create-framed.png?fit=max&auto=format&n=522wBoN0afgjxKqE&q=85&s=627cd339044d5627a67e48b93e02d211" alt="New Livestream dialog" width="2192" height="1323" data-path="images/generated/beta-livestreams-create-framed.png" />
</Frame>

Fill in:

* **Name** — a label to identify this livestream, such as `Morning Show`
* **Workflows to run in the background** — check every workflow that should run on each chunk. Only workflows that contain a trigger node are listed. If a workflow has more than one trigger node, a second dropdown appears so you can choose which one receives the chunk
* **Ingestion interval** — under **Advanced settings**, how long each recorded chunk should be. Shorter intervals get content into your workflows faster; longer intervals mean fewer, longer chunks. Defaults to 5 minutes if you leave it collapsed

Click **Create Livestream** when you're done. Overlap generates a unique server URL and stream key for this livestream.

## Connect your encoder

Once a livestream is created, its card shows the **Server URL** and a masked **Stream Key**, each with its own copy button. Click the eye icon to reveal the key before copying it.

In your broadcasting software, set:

* **Server** (sometimes called **Stream URL**) to the livestream's Server URL
* **Stream Key** to the livestream's Stream Key

For example, in OBS this is under **Settings → Stream → Service: Custom...**. Once you start streaming from your encoder, the livestream's status switches to `Live`, and it switches back to `Idle` when the encoder disconnects.

<Warning>
  Anyone with the stream key can publish to that livestream. Treat it like a password — use **Regenerate Key** from the card's menu if it's ever exposed, and update your encoder with the new key afterward.
</Warning>

## Managing a livestream

Use the `⋮` menu on a livestream's card to:

* **Edit** — change the name, ingestion interval, or selected workflows
* **Disable** / **Enable** — reject new publishes without deleting the livestream or losing its configuration
* **Regenerate key** — issue a new stream key and invalidate the old one immediately
* **Delete** — remove the livestream and its stream key permanently

## How this fits with workflows

`Livestreams` doesn't add anything to the workflow builder itself — it drives whatever trigger node your workflow already starts with, the same way a manual upload or another trigger would. That means you can build the rest of the workflow exactly as described in [Workflows](/essentials/workflows) and [Nodes](/nodes/overview): pick clips, add subtitles, reframe, and export, with each recorded chunk flowing through automatically as it arrives.
