en:stb:adaptive_streaming

This is an old revision of the document!


Adaptive streaming HLSv4 and MPEG-DASH on TVIP Mediacenters

:!: Advanced adaptive streaming is supported from firmware v.4.0.21.

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 wtt segments 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.
SAMPLE-AES is supported for MPEGTS. CENC for fMP4 is planned.

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.
  • Encryption is not supported. CrearKey CDM is planned for all models. Widevine CDM is planned for all S805 and S905X based units. PlayReady CDM and Verimatrix are planned for special requests.
  • 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.
  • Subtitles are not currently supported (WebVTT is planned).
  • 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

  • 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.1533536343.txt.gz · Last modified: 2018/08/06 09:19 by Alexander