> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gcore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Low-latency streaming

> Gcore low-latency streaming reduces live video delay to 2 to 5 seconds with LL-HLS and LL-DASH over CMAF.

Gcore Streaming reduces live stream latency to 2–5 seconds using LL-HLS and LL-DASH over CMAF. Both protocols share the same transcoding pipeline and CDN delivery layer — no additional streams or plan upgrades are required.

## Streaming latency

Streaming latency is the time between a frame being captured and that frame being displayed on the viewer's screen. Three pipeline stages each contribute to it:

1. **Encoding (or packaging).** The streaming service converts the stream to the delivery format and splits it into fragments.
2. **Transferring.** CDN servers pull the processed stream, cache it, and send it to viewers.
3. **Receipt by players.** End-user players load the fragments and buffer them before playback.

Unoptimized pipelines accumulate 30–40 seconds of total delay. For sports events, metaverse experiences, and news broadcasts, this latency is too high.

![Diagram showing the stages of streaming latency from capture to viewer](https://mintcdn.com/gcore/mB9xUQPpVbdf6kcA/images/docs/streaming/live-streaming/how-low-latency-streaming-works/low-latency-football.gif?s=897a537e188e5952ddec3d72931bb2f0)

## Gcore low-latency approach

Gcore Video Streaming receives live streams over RTMP or SRT, transcodes to ABR ([adaptive bitrate](/streaming/live-streams-and-videos-protocols-and-codecs/output-parameters-and-codecs)), and delivers via CDN in LL-HLS and LL-DASH.

Both protocols use **CMAF** (Common Media Application Format) with a standardized **fragmented MP4 (fMP4)** container. LL-HLS uses partial segments and blocking playlist reloads to reduce download latency; LL-DASH progressively delivers partially completed media files as new portions arrive from origin. CMAF allows both formats to share the same encoded media — reducing storage and encoding overhead while enabling chunked delivery that can begin before the full segment is ready. Encoder and player configuration for stable end-to-end latency is covered in [Configure low-latency playback](/streaming/live-streaming/configure-low-latency-playback).

## Protocol latency comparison

| Protocol | Format | Latency | Details |
| :- | :- | :- | :- |
| **LL-DASH** | CMAF | **2–4 seconds** | Chunked download of partially ready files from origin. |
| **LL-HLS** | CMAF | **3–5 seconds** | Partial segments and blocking playlist reloads. |
| **HLS** | MPEG-TS | **\~9 seconds** | Reduced chunk sizes; used for maximum device compatibility. |

Traditional HLS MPEG-TS without low-latency optimizations produces 20–30 seconds of latency.

## Gcore's implementation: Unified Pipeline and Chunked-Proxy

To realize this low-latency potential at scale, Gcore employs two key optimizations. A technical deep dive is available on the [Gcore blog](https://gcore.com/blog/optimizing-hls-dash-3sec).

### 1. Transcoding: Unified Pipeline Engine

Gcore processes LL-HLS and LL-DASH in the same low-latency transcoding and packaging pipeline. Both outputs therefore use aligned keyframes and segment boundaries, eliminating drift between the two formats. The enforced parameters are:

* **GOP:** 1 or 2 seconds (ensures rapid seek and playback start).
* **Segment size:** 2 seconds.
* **Part size:** 0.5 or 1 second (allows players to download content in small increments).
* **Minimal buffer:** 1.5 seconds.

### 2. CDN delivery: Chunked-Proxy

Standard CDNs wait for a file to be fully downloaded before sending it to the viewer ("store and forward"). Gcore uses a proprietary **Chunked-Proxy** module that streams data immediately:

* **Immediate distribution:** The CDN edge begins sending bytes to the viewer while still receiving them from the origin.
* **Protocol optimization:** Uses chunked transfer encoding for HTTP/1.1 and native framing for HTTP/2 and HTTP/3.
* **Smart caching:** Handles the high volume of requests for partial segments and blocking playlist reloads efficiently.

> [!TIP]
>
> When using Gcore CDN with an external transcoder (not Gcore's Streaming ingest and transcoding service), the Chunked-Proxy module must be explicitly activated. Contact [Gcore Support](https://gcore.com/contact-us) to enable it.

## Access playback URLs

Low-latency streaming is enabled by default across all service tiers, including the trial period and free tier. Gcore produces three playback outputs simultaneously — LL-DASH, LL-HLS, and legacy HLS MPEG-TS — from the same stream. No separate streams or plan upgrades are required.

### Customer Portal

In the Customer Portal, open a live stream and copy one of these links from **Links for the export**:

| Customer Portal field | Protocol | Use case |
| :- | :- | :- |
| **MPEG-DASH manifest URL** | LL-DASH CMAF | Web, Android, dash.js, ExoPlayer |
| **HLS manifest URL** | LL-HLS CMAF | Modern HLS players, iOS, Safari, hls.js |
| **HLS non-low-latency manifest URL** | Legacy HLS MPEG-TS | Older devices and maximum compatibility |

![Links for the export section with MPEG-DASH, HLS, and HLS non-low-latency manifest URLs](https://mintcdn.com/gcore/-b5P6wzQ1oLUgVkz/images/docs/streaming/live-streaming/how-low-latency-streaming-works/low-latency-stream-links.png?fit=max\&auto=format\&n=-b5P6wzQ1oLUgVkz\&q=85\&s=463d48770e3ef51220730c7fab54d418)

The **HLS non-low-latency manifest URL** provides MPEG-TS segments for legacy devices or software that cannot play CMAF. All three outputs share the same segment sizes and manifest lengths for DVR compatibility.

### API

Retrieve stream URLs via the [Get live stream](/api-reference/streaming/streams/get-live-stream) endpoint:

```http theme={null}
GET https://api.gcore.com/streaming/streams/{stream_id}
```

Use these response fields:

| API field | Protocol | Example |
| :- | :- | :- |
| `hls_cmaf_url` | LL-HLS (HLS CMAF) | `https://demo.gvideo.io/cmaf/2675_19146/master.m3u8` |
| `dash_url` | LL-DASH (MPEG-DASH CMAF) | `https://demo.gvideo.io/cmaf/2675_19146/index.mpd` |
| `hls_mpegts_url` | Legacy HLS (MPEG-TS) | `https://demo.gvideo.io/mpegts/2675_19146/master_mpegts.m3u8` |

LL-HLS and LL-DASH links contain the `/cmaf/` path. Legacy HLS links contain the `/mpegts/` path and are used when compatibility is more important than latency. The [API reference](/api-reference/streaming/streams/get-all-live-streams) covers all stream retrieval endpoints.

Demo player with a low-latency live stream enabled:

[https://player.gvideo.co/broadcasts/2675\_21606](https://player.gvideo.co/broadcasts/2675_21606)
