en:stb:adaptive_streaming

Adaptive streaming HLSv4 and MPEG-DASH on TVIP Mediacenters

:!: Advanced adaptive streaming is supported from firmware v.4.0.22. Some features are supported from firmwares v.4.1.x.

HLS v3

Initiated by using URL scheme http, https, hls, hlss.

Features

  • Only multiplexed MPEG-TS segments are supported. External audio segments are not supported.
  • Multiplexed MPEG-TS segment can contain any video/audio formats supported by STB.
  • Multiplexed MPEG-TS segment can contain multiple audio tracks.
  • Multiplexed MPEG-TS segment can contain DVBSUB or Teletext subtitles.
  • Seeking is limited to segment boundaries.
  • Encryption: AES-128 is supported (Verimatrix is supported for some units). Sample-AES is not supported.
  • First bitrate listed in m3u8 is selected when starting playback.

HLS v4

Initiated by using URL scheme hlsv4 or hlsv4s.

Feature set list is based on RFC8216

3.1. Supported Media Segment Formats

3.2 MPEG-2 Transport Streams

Tested: H.264, HEVC, AAC, AC3, MPEG Audio.
Untested, but planned: EAC3, DTS.
Not planned to support: MPEG2, MPEG4.

EXT-X-MAP is not supported for MPEGTS.
TS segment should contain no more the one video and one audio track.

3.3 Fragmented MPEG-4

Tested: H.264, HEVC, AAC.
Untested, but planned: AC3, EAC3, DTS.
Planned to support: VP9.

EXT-X-MAP is supported for initialization segment.
fMP4 segment should contain only a single stream (audio or video)

3.4 Packed audio

Tested: AAC.
Planned: AC3, EAC3.

3.5 WebVTT

Basic support for WebVTT segments (Raw and fMP4) in VoD.

4.3.2 Media Segment Tags

4.3.2.1 EXTINF

Supported.

4.3.2.2 EXT-X-BYTERANGE

Supported.

4.3.2.3 EXT-X-DISCONTINUITY

Supported, but player reaction is limited.

4.3.2.4 EXT-X-KEY

Supported.
Attributes: URI, IV, KEYFORMAT. AES-128 is supported for MPEGTS and fMP4. Verimarix can be enabled by request.
SAMPLE-AES is supported for MPEGTS and fMP4 (cbcs). Widevine over HLS (CMAF) is supported from fw. 4.2.21.

4.3.2.5 EXT-X-MAP

Supported for fMP4. Only unencrypted.

4.3.2.6 EXT-X-PROGRAM-DATE-TIME

Supported.
Can be used for timeshifting.

4.3.2.7 EXT-X-DATERANGE

Not supported.

4.3.3 Media Playlist Tags

4.3.3.1 EXT-X-TARGETDURATION

Supported.

4.3.3.1 EXT-X-MEDIA-SEQUENCE

Supported.

4.3.3.3 EXT-X-DISCONTINUITY-SEQUENCE

Supported, but player reaction is limited.

4.3.3.4 EXT-X-ENDLIST

Supported.

4.3.3.5 EXT-X-PLAYLIST-TYPE

Supported.

4.3.3.6 EXT-X-I-FRAMES-ONLY

Not supported.

4.3.4 Master Playlist Tags

Supported.

4.3.4.1 EXT-X-MEDIA

Supported.
Valid TYPE values: AUDIO, VIDEO, SUBTITLES.
Supported attributes: TYPE, URI, GROUP-ID, LANGUAGE, NAME

4.3.4.1.1 Rendition Groups

Supported.

4.3.4.2 EXT-X-STREAM-INF

Supported.
Supported attributes: BANDWIDTH,CODECS,AUDIO,VIDEO,SUBTITLES.

4.3.4.3 EXT-X-I-FRAME-STREAM-INF

Not supported.

4.3.4.4 EXT-X-SESSION-DATA

Not supported.

4.3.4.5 EXT-X-SESSION-KEY

Not supported.

4.3.5 Media or Master Playlist Tags

4.3.5.1 EXT-X-INDEPENDENT-SEGMENTS

Not supported.

4.3.5.2 EXT-X-START

Not supported.

6.3 Client Responsibilities

6.3.3 Playing the Media Playlist File

EXT-X-PROGRAM-DATE-TIME is only forward exterpolated.

MPEG-DASH

MPEG-DASH support will be based on : DASH-IF interop guideline.
Initiated by using “.mpd” extention in URL.
Currently support is limited:

  • VOD profile and some subset of Live profile are supported.
  • Media segments should be MP4 (CMAF) with H264/H265 video and AAC/AC3 audio. WebM segment support is planned.
  • Media should be either splitted into file segments and use SegmentTemplate tag, either have a single segment + sidx box and use SegmentBase. SegmentList was not tested.
  • It is recommended that presentation has a single Period. If has multiple periods, all adaptation sets tructure should be strictly the same in all periods. Changing of media between periods is not supported.
  • ClearKey encryption is supported according to W3C JSON protocol.
  • Widevine L3 CDM is basically supported (from fw. 4.1.x) for “cenc” encrypted content (no renewal/rotation) on S805/S905X units.
  • PlayReady CDM and Verimatrix can be implemented by request.
  • Only first available video track (adaptation set) will be selected.
  • Any adaptation set filtering is not supported (encrypted can be ignored, however). Audio sets will be signalled one by one.
  • WebVTT subtitles are supported in MP4 container (raw wvtt should also work).
  • Represenation set (bandwidth) switching is only possible between video adaptation sets. Audio would always use first representation set signalled.
  • In Live mode playlist will be updated more frequently, than it may be needed.
  • Any tags controlling buffering or stream priorities are not supported.

Notes and known limitations for HLSv4 and MPEG-DASH

  • Seeking is not limited to segment boundaries.
  • Video tracks can not be switched.
  • Switching of audio tracks may sometimes not work.
  • When using Flussonic, URL should be “index.m3u8”, not “video.m3u8”.
en/stb/adaptive_streaming.txt · Last modified: 2019/10/14 23:56 by Alexander