Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt

Use this file to discover all available pages before exploring further.


Livepeer’s video infrastructure separates ingest, transcoding, and delivery into distinct layers accessible at different abstraction levels. A developer building a live streaming feature can use the livepeer JavaScript or Python SDK against the Livepeer API, or operate a go-livepeer broadcaster gateway node for direct network access with custom routing and pricing. The three primary video workloads are live streams, video-on-demand (VOD) assets, and direct transcoding. All three go through the same underlying network: gateway nodes receive video segments, route them to orchestrators, and return transcoded output.

Live Streams

A live stream in Livepeer is a named object with an RTMP ingest endpoint and an HLS playback URL. The broadcaster gateway accepts an RTMP push from OBS, FFmpeg, or any RTMP-capable encoder, segments the stream, and routes segments to the network for transcoding. The livepeer SDK creates and manages stream objects via the Livepeer API:
import { Livepeer } from 'livepeer';

const client = new Livepeer({ apiKey: '<YOUR_API_KEY>' });

const stream = await client.stream.create({
  name: 'my-livestream',
  profiles: [
    { name: '720p', bitrate: 3000000, fps: 30, width: 1280, height: 720 },
    { name: '360p', bitrate: 1000000, fps: 30, width: 640, height: 360 },
  ],
});

console.log(stream.stream.rtmpIngestUrl);   // push here from OBS/FFmpeg
console.log(stream.stream.playbackUrl);     // HLS playback URL
See for ingest configuration, webhook setup, and stream key management.

VOD Assets

VOD assets are uploaded video files that Livepeer transcodes into ABR HLS for playback. The SDK supports direct upload and upload-via-URL:
const asset = await client.asset.createViaUrl({
  name: 'my-video',
  url: 'https://example.com/source.mp4',
});
After transcoding, the asset has a playbackId usable with the @livepeer/react Player component or any HLS player. See for upload, status polling, and playback integration.

Direct Transcoding

For applications that manage their own segmented video and need only the transcoding step, the go-livepeer broadcaster gateway exposes an HTTP endpoint that accepts segments and returns transcoded output. This is the lowest-level integration point and the path LPMS embeds. See for the segment submission API and profile configuration.

Access Paths

Livepeer SDK

The livepeer JavaScript SDK (npm install livepeer) and livepeer Python SDK (pip install livepeer) both wrap the Livepeer REST API. They cover streams, assets, webhooks, playback policies, access control, and viewership metrics. The current JavaScript SDK version is 3.5.0. The Python SDK is pip install livepeer. Both SDKs are generated from the Livepeer OpenAPI specification at api/openapi.yaml in the docs repository.

Ingest

RTMP ingest configuration, stream keys, and webhook event handling.

VOD

Asset upload, transcoding profiles, and HLS playback URL generation.

Transcoding

Direct segment transcoding via the broadcaster gateway and LPMS.

LPMS

Livepeer Media Server: embeddable Go library for RTMP-in, HLS-out pipelines.
Last modified on May 19, 2026