Skip to content

LLHLS

media.play.llhls

Transport

HTTP or HTTPS; playlists and fragments use separate requests over TCP.

Supported codecs

Video

  • H.264
  • HEVC
  • AV1

Audio

  • AAC
  • MP3
  • MP2
  • AC-3
  • E-AC-3
  • Opus

This list describes Sapsan output; decoding support depends on the player. Tracks also need valid codec parameters for packaging in the selected container.

Every Sapsan stream is immediately available over HLS (fMP4/CMAF) without extra configuration. Live streams get LL-HLS with partial segments by default.

Structured text tracks generated by Sapsan are delivered as WebVTT; source teletext or DVB bitmap subtitles alone do not constitute a ready text track. The corresponding extraction or recognition must be enabled first.

When a text subtitle track is present, LL-HLS is disabled for the entire stream: HLS uses ordinary segments. Player codec support and LL-HLS availability are separate conditions.

Playback URLs

What URL
Master playlist (all qualities) http://server/streaming/v/<stream>/index.m3u8
Single track playlist http://server/streaming/v/<stream>/variant/<track>/index.m3u8
Rewind http://server/streaming/v/<stream>/rewind/<seconds-ago>/index.m3u8
Archive by absolute time http://server/streaming/v/<stream>/index.m3u8?from=<utc_ms>&to=<utc_ms>

The master playlist carries qualities with RESOLUTION, FRAME-RATE, and CODECS; audio goes into rendition groups (EXT-X-MEDIA). G.711 audio (PCMA/PCMU) is not served over HLS — transcode such streams to AAC first.

LL-HLS

For live streams Sapsan serves full LL-HLS (protocol version 9):

  • EXT-X-PART partial segments at the live edge and EXT-X-PRELOAD-HINT for the next part;
  • blocking playlist reload: the client parameters _HLS_msn and _HLS_part hold the request until the requested segment/part appears;
  • playlist delta updates: _HLS_skip=YES shortens the playlist with an EXT-X-SKIP tag;
  • EXT-X-RENDITION-REPORT for fast quality switching;
  • PART-HOLD-BACK, CAN-SKIP-UNTIL, HOLD-BACK are derived automatically from segment and part durations.

LL-HLS can be disabled per client with ?llhls=false — the master playlist propagates it into all variant URLs, and the player gets classic HLS (version 7).

Tokens in playlists

If playback is token-protected, ?token= is automatically appended to every nested playlist URL: variants, init segments, segments, parts, and preload hints. The player only needs to open the master playlist with the token.