Skip to content

LL-HLS playback

Flussonic allows playback via Apple Low-Latency HLS (LL-HLS) — a streaming protocol that derives from HLS and overcomes its high latency.

LL-HLS supports the same codecs as HLS (H.264, AAC, MP3) and also HEVC (H.265) and AV1. The container can be MPEG-TS or fMP4 (fragmented MP4). Flussonic uses fMP4 and CMAF to package streams for LL-HLS delivery. Flussonic creates fMP4 chunks in accordance with the CMAF standard.

Before using Low-Latency HLS, remember that network and server load will increase because Low-Latency HLS divides HLS segments into smaller segments (also called chunks).

LL-HLS playback URL

To play a stream via Apple Low-Latency HLS, copy the CMAF URL from the Output tab of the stream's settings and paste it to a player. The player THEOplayer fully supports LL-HLS playback.

CMAF is a standard that is used to create MP4 fragments compliant with the Low-Latency HLS specification.

Output protocols

The URL is like that:

http://FLUSSONIC-IP/example_stream/index.ll.m3u8

If the stream includes some tracks that you don't want in the LL-HLS output, use filter.tracks parameter in the URL. It will help you filter only the tracks that are required on the end-user's device (for example, you may not want to deliver 360p to TVs or 4K to mobile devices). Learn more about filtering tracks at Filtering tracks for playback.

Optional settings for LL-HLS

LL-HLS is enabled in Flussonic by default and does not require any additional settings. We have adjusted the LL-HLS playback parameters to achieve an optimal balance between latency and resource consumption. However, you can change the settings if any issues arise with the default values (for example, the video takes a long time to start, the server is overloaded at a small number of viewers, frequent buffering, the latency is higher than expected, etc.). Please contact our support team to get assistance in selecting the best LL-HLS settings for your objectives.

You can set the following parameters in the configuration file (if necessary):

  • segment_duration is the duration of an HLS segment.
  • segment_count is the number of segments in an HLS playlist.
  • chunk_duration is the duration of a CMAF Chunk or HLS Partial Segment of an HLS segment. The default value is 200.

Example:

stream example_stream {
  input fake://fake;
  segment_duration 4;
  segment_count 4;
  chunk_duration 500;
}

Note

You can also set segment_duration and segment_count in the UI on the Output tab in the stream settings.