Getting Started
This guide walks through the three phases required to set up a working Low Latency Streaming (LLS) pipeline: configuring domains, setting up transcoding, and connecting an encoder.
Phase 1 - Domain Setup
Domain setup establishes the ingest and delivery endpoints that the LLS service uses to receive and distribute streams.
Step 1: Create an Ingest Domain
Create an ingest domain to define the endpoint where encoders will push RTMP streams. The ingest domain receives the source stream from the encoder.
Step 2: Create a Delivery Domain
Create a delivery domain to define the endpoint where viewers will access the stream. The delivery domain distributes the transcoded or transmuxed output to end users.
Step 3: Verify via DNS TXT Record
After creating each domain, verify ownership by adding a DNS TXT record to the domain's DNS configuration. The platform provides the exact TXT record value to add. DNS propagation may take a few minutes to complete.
Step 4: Set Up CNAME
Add a CNAME record pointing each domain to the platform-provided hostname. This routes traffic through the LLS infrastructure.
Step 5: Associate Domains
Associate the ingest domain with the delivery domain within the platform. This links the two endpoints so that streams ingested on one domain are delivered through the other.
Phase 2 - Transcoding Configuration
Transcoding configuration defines how the source stream is processed before it reaches viewers.
Step 1: Create Transcoding Presets
A transcoding preset defines the encoding parameters for a single output rendition. Configure the following parameters when creating a preset:
Video Settings
| Parameter | Description |
|---|---|
| Video Codec | Select H.264 or H.265 |
| Resolution | Set the output resolution (e.g., 1920x1080, 1280x720, 854x480) |
| Bitrate | Set the target video bitrate in kbps |
| GOP | Set the keyframe interval (Group of Pictures) in seconds |
Audio Settings
| Parameter | Description |
|---|---|
| Audio Codec | AAC |
| Bitrate | Set the target audio bitrate in kbps |
| Sampling Rate | Set the audio sampling rate (e.g., 44100 Hz, 48000 Hz) |
Test the workflow with a simple single-rendition preset (e.g., H.264, 720p, 2000 kbps) before building complex multi-rendition configurations. This makes it easier to confirm that ingest and delivery are working correctly end to end.
Step 2: Create a Transcoding Template
A transcoding template links an ingest domain to one or more presets and defines the delivery protocol. Configure the following when creating a template:
- Ingest Domain — Select the ingest domain created in Phase 1
- Delivery Protocol — Choose the output delivery protocol (e.g., HLS, DASH, RTMP)
- Presets — Select one or more transcoding presets to attach to this template
Phase 3 - Encoder Configuration
With domains and transcoding configured, connect an encoder to begin streaming.
OBS Studio Example
OBS Studio is a common encoder for testing and production LLS pipelines. Configure the stream output settings as follows:
- Open OBS Studio and navigate to Settings > Stream.
- Set Service to Custom.
- Enter the following values:
| Field | Value |
|---|---|
| Server | rtmp://ingest.example.com/myapp/ |
| Stream Key | {STREAM_NAME} |
Full Ingest URL Format
The complete ingest URL follows this structure:
rtmp://{ingest_domain}/{app}/{stream}?token={token}
| Placeholder | Description |
|---|---|
{ingest_domain} | The ingest domain created in Phase 1 |
{app} | The application name configured on the platform |
{stream} | The stream name for this broadcast session |
{token} | The authentication token for the stream (if token-based auth is enabled) |
Once the encoder connects and begins pushing data, the stream becomes available for playback through the delivery domain using the configured protocol.