Skip to main content

VOD assets on Livepeer are video files that the network transcodes into ABR HLS for playback. Upload a source file or provide a URL; Livepeer produces a set of renditions and a playback URL usable with any HLS player or the @livepeer/react Player component.

Upload via URL

The simplest path is upload-via-URL. Livepeer fetches the source, transcodes it, and makes the output available at a playback URL:

Direct Upload

For files on the client, request an upload URL first, then PUT the file:

Polling for Completion

Transcoding is asynchronous. Poll asset status:
Or subscribe to the asset.updated webhook to avoid polling.

Playback URL

Once asset.status.phase === 'ready', the asset has a playbackUrl and a playbackId. Pass playbackId to the @livepeer/react Player:
The Player handles ABR selection, HLS parsing, and WebRTC fallback automatically. For non-React environments, the HLS manifest at playbackUrl works with HLS.js or any ABR player.

Updating and Deleting Assets

Rename or update asset metadata:
Delete an asset:
List all assets:

Ingest

Live stream ingest for creating assets from recorded streams.

Player

@livepeer/react Player component for embedding VOD playback.

Video Overview

Access paths and workload comparison for Livepeer video.

Transcoding

Direct segment transcoding for custom media server integrations.
Last modified on May 31, 2026