Recommended VOD Settings¶
Table of Contents
Encoding audio/video for ABR (Adaptive Bitrate) delivery puts some constraints on the encoding process. Please read Encoding Requirements before you proceed.
The content preparation step (for instance fragmenting an MP4 or the creation of a server manifest) after the encoding step must follow the outline provided in Packaging for Unified Origin.
The Encoding profiles for Live MPEG-DASH apply for VOD as well. Most importantly the segment length (the GOP size) of encoded content should be two seconds.
The profile used for VOD streaming is the Live profile, which provides the best coverage and is the most convenient for both Live and VOD delivery.
The DASH 'On Demand Profile' is only used when offline packaging, as outlined in Packaging for MPEG-DASH.
--minimum_fragment_length is set the
$number$ calculation instead
$time$ is used in the Segment Template section of the MPD, and the
.m4s extension is used instead of
.dash (the difference in extension is
only made so that Origin can easily recognize how it should interpet the numbering
in the name of the segment (as
$number$, or as
$time$). Do note that the
minimum fragment duration must be a multiple of the GOP size.
The Encoding profiles for MPEG-DASH apply for VOD as well: two second
segments (so the GOP size is two seconds) is optimal and can be combined
into the HLS preferred fragment size of eight seconds by setting the
minimum_fragment_length to eight seconds.
Captions & Subtitles¶
The recommended caption/subtitle type for HLS is WebVTT. Conversion from a (fragmented) MP4 that contains TTML-based subtitles to WebVTT is automatic (provided such an MP4 was added to the server manifest).
If the server manifest includes both WVTT and TTML-based subtitles for a given
language, both tracks will be advertised in the master playlist. Usually it would
be desireable to only advertise the
wvtt track (because this provides more
control over WebVTT cue styling and positioning). You can use
dynamic track selection to exclude any TTML-based
subtitles from the playlist, for example:
Follow the Subtitles section on how subtitles/captions should be added.
In order to achieve consistent fragment durations and timestamp boundaries the media fragment should contain an integer number of AAC access units (frames). Without fraction notation the lowest value that can be used that satisfies both AAC-LC and HE-AAC is 16 seconds.
This is useful when there are multiple audio profiles to be ingested (for instance 320 AAC-LC, 128 AAC-LC, 96 HE-AAC and 48 HE-AAC).
Using fraction notation you can set this to a lower value like 3.2 (153600/48000) or 6.4 (307200/48000) seconds, having perfect alignment and reduce latency:
The Encoding profiles for Live MPEG-DASH apply for VOD as well: two second segments are optimal for HDS.
Captions & Subtitles¶
Captions and subtiles are not supported for HDS.
Two second segments (so the GOP size is two seconds) must be combined
into the HDS preferred fragment size of four seconds by setting the
minimum_fragment_length to four seconds: