Skip to main content

A Livepeer live event stream supports three features layered on top of basic RTMP ingest: simultaneous restreaming to third-party RTMP destinations (multistream), automatic recording to a VOD asset, and playback access control via JWT tokens or webhook verification.

Multistream Targets

Multistream simultaneously pushes a live stream to additional RTMP destinations (YouTube Live, Twitch, custom RTMP servers) alongside Livepeer transcoding. Create a multistream target:
Attach the target to a stream at creation or via update:
The profile field specifies which transcoding rendition to forward. Omitting it sends the original ingest quality.

Recording

Set record: true on stream creation to automatically archive the stream to a VOD asset:
When the stream goes idle, Livepeer generates a VOD asset from the recording. The stream.recording.ready webhook fires when the asset is available. Retrieve the recording:

Playback Access Control

By default, streams are publicly playable. Restrict playback using a playback policy: JWT-based access control:
Livepeer validates a signed JWT in the accessKey query parameter of every playback request. Your application issues tokens signed with the signing key private key. Webhook-based access control:
For each playback request, Livepeer calls your webhook URL with the request context. Your application returns 200 to allow or 4xx to deny.

Updating and Terminating Streams

Update a stream’s configuration while it is active:
Terminate an active stream (force-disconnects the RTMP publisher):
Retrieve stream status:

Ingest

RTMP ingest configuration and stream creation.

VOD

Working with recorded assets after a stream ends.

Player

@livepeer/react Player for HLS and low-latency WebRTC playback.

Video Overview

Access paths and workload types for Livepeer video.
Last modified on May 22, 2026