Use Livestreams when your content arrives as a live RTMP broadcast or a public HLS live URL and you want tracked sessions, a timeline, replays, and automatic workflow outputs.
What Livestreams is for
Open Livestreams from the left sidebar, under Media, to manage RTMP and HLS sources that feed your workflows.
Choose RTMP push when you control an encoder such as OBS. Choose HLS URL when a provider already exposes a public live playlist and you want Overlap to pull it continuously. The Audio Livestream trigger remains the simpler choice for an audio URL that does not need the Livestream Tracker’s episode and timeline experience.
How it works
Each livestream you create has three parts:
- Input — either an RTMP server/key or a public HLS live URL
- 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 the source is connected and its listening policy is active,
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. RTMP defaults to ingesting whenever the encoder is publishing. Both input types
can stop at a deadline, follow a schedule, or remain Off.
Schema
- Input: An RTMP publish or public HTTP(S) HLS live playlist
- Output: One recorded MP4 per ingestion interval, sent into each selected workflow as its trigger input. Audio-only inputs are normalized to H.264/AAC
Create a livestream
Open New Livestream, then choose RTMP push or HLS URL to open the
setup dialog with that input type selected.
Fill in:
- Input type — choose RTMP push or HLS URL
- HLS source URL — required for HLS. Public URLs, embedded Basic Auth, and fixed query-string tokens are supported. The full URL is stored server-side; the portal shows only its hostname
- Start listening — HLS only; create the source as On, On Until, Scheduled For, or Off. Scheduled For can be configured before the livestream is created
- 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. Livestreams automatically use the first trigger node in the workflow
- Ingest while live — RTMP only, under Advanced settings; choose Whenever live, Until a specific time, On a schedule, or Off
- 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. RTMP sources receive a unique server URL and stream key. HLS sources begin in the listening mode you selected.
Connect an RTMP 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.
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.
Schedule RTMP ingest
Open an RTMP source’s Settings → Advanced settings → Ingest while live and
choose On a schedule. Add a listening window, select its timezone, and set
the start and end times — for example, 13:00–14:00 every day. You can also
set this before creating the source. Windows can run once or repeat daily,
weekly, or monthly, including overnight windows. The encoder must be
broadcasting during the window; the schedule cannot start your encoder.
Outside the window, Overlap keeps the RTMP connection open and pauses recording.
Your encoder can connect early and stay connected across windows. Only footage
received during a recording window is saved and sent to workflows; footage
outside the window is not buffered for later processing. When the window closes,
the final partial chunk still processes, and already-started workflows can finish.
An uninterrupted encoder connection stays in the same tracked episode across
recording windows. Each reconnect starts a new episode. Schedule transitions
normally apply within 30 seconds, so this is not a frame-exact recording cutoff.
Off pauses recording while retaining the connection; Disable disconnects
the encoder. Changing the stream key or ingestion interval can also disconnect it.
The card shows the saved policy, pending changes, and the next start or stop.
Choose Whenever live to resume unrestricted ingest; your saved windows are
kept. Disable pauses the source without removing its schedule; Enable
resumes that policy. Timezones follow daylight saving changes: nonexistent
spring-forward times move to the first valid minute, and repeated fall-back
hours stay continuous.
Connect an HLS source
For an HLS livestream, paste its public HTTP(S) live playlist URL during
creation. Overlap shows the sanitized source hostname and a connection status:
Connecting, Connected, or Unavailable. To rotate a fixed token or change
providers, open Settings, enter a replacement URL, and save. Leaving the
replacement field blank keeps the current URL. Switching input type or
replacing an active URL closes the current episode and starts a new one when
the new source connects. Audio-only radio playlists that use packed AAC
segments are supported and follow the same listening controls and tracker
behavior.
If the card reports an upstream HTTP status such as 404, the root playlist
or one of the playlists, renditions, or segments it references is unavailable.
Replace it with a working live playlist URL; Overlap validates every nested HLS
resource rather than treating a reachable master playlist as a connected feed.
Control when HLS listens
Open the HLS card’s ⋮ menu and choose Listening:
- On listens continuously
- On Until starts now and turns Off at the date and time you choose
- Scheduled For listens during one-time, daily, weekly, or monthly windows
- Off disconnects without deleting the source URL, schedule, episodes, or outputs
Scheduled For supports a timezone, one-time windows, start and optional end
dates for recurring rules, repeat intervals, weekly day selection, monthly day
or ordinal-weekday selection, multiple daily time windows, and windows that run
past midnight. Start and end times can be entered to the exact minute. A
completed one-time window remains saved and shows Schedule
ended. Moving to On,
On Until, or Off keeps the recurring schedule so it can be resumed later.
Changes normally apply within 30 seconds; the card shows Pending until the
ingest service has applied a manual change. Each later reconnect begins a new
tracked episode, while a stop still processes MediaMTX’s final partial chunk.
HLS v1 does not support VOD playlists, custom request headers, cookies, or
tokens that must be refreshed. It supports public URLs, embedded Basic Auth,
and fixed query-string tokens. Source URLs must resolve only to public
internet addresses.
Audio-only sessions
Audio-only RTMP and HLS feeds are detected automatically. The tracker presents
an audio-focused player and thumbnail while keeping the same episode timeline,
replays, clips, and workflow outputs. Recorded chunks are normalized to a black
1280×720 H.264/AAC MP4, so existing workflows run normally; mediaKind remains
attached to the session as provenance.
Download a full broadcast
Open a livestream, pick a finished broadcast from the Outputs dropdown, and click
Download broadcast to get the whole recording as one MP4 at the quality your
encoder sent.
- The recording is stitched the first time anyone asks for it. If it’s ready within
the time you stay on the page, the download starts automatically.
- Otherwise you’ll get an email and an in-app notification with a download link.
The link works for 7 days; clicking Download broadcast again gives you a fresh one.
- Broadcasts can be downloaded for 30 days. After that the recording is deleted.
- The button is hidden while a broadcast is still recording.
- Reconnecting an encoder starts a new broadcast, so a show interrupted by a
disconnect downloads as separate files.
Managing a livestream
Use the ⋮ menu on a livestream’s card to:
- Settings — change the name, ingestion interval, selected workflows, or RTMP ingest schedule
- Listening — HLS only; choose On, On Until, Scheduled For, or Off
- Disable / Enable — RTMP only; reject new publishes without deleting the livestream or losing its configuration
- Regenerate key — RTMP only; issue a new stream key and invalidate the old one immediately
- Source details — HLS only; view the hostname and current connection status without exposing the complete URL
- Delete — remove the livestream and its stream key permanently
How this fits with workflows
Livestreams doesn’t add node-level skips to the workflow builder — it drives whatever trigger node your workflow already starts with, the same way a manual upload or another trigger would. Audio-only chunks arrive as normalized black-screen video, so the configured workflow and its existing safeguards run normally. Build the rest of the workflow as described in Workflows and Nodes.