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.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.1 EXTINF
4.3.2.2 EXT-X-BYTERANGE
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
4.3.3.1 EXT-X-TARGETDURATION
4.3.3.3 EXT-X-DISCONTINUITY-SEQUENCE
Supported, but player reaction is limited.
4.3.3.4 EXT-X-ENDLIST
4.3.3.5 EXT-X-PLAYLIST-TYPE
4.3.3.6 EXT-X-I-FRAMES-ONLY
Supported.
Valid TYPE values: AUDIO, VIDEO, SUBTITLES.
Supported attributes: TYPE, URI, GROUP-ID, LANGUAGE, NAME
4.3.4.1.1 Rendition Groups
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
4.3.4.4 EXT-X-SESSION-DATA
4.3.4.5 EXT-X-SESSION-KEY
4.3.5.1 EXT-X-INDEPENDENT-SEGMENTS
4.3.5.2 EXT-X-START
6.3 Client Responsibilities
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”.