Toggling subtitles on and off at the encoder side is not supported: streams can only be announced once and should stay the same during the event.
Unified Origin - Live supports ingest of subtitles samples that are stored in a fragmented MP4 container. The encoder should POST the subtitles one track per language to the publishing point. The track language is read from the track's media header.
The subtitles format can be fragmented WebVTT or fragmented TTML. In the first case, fragments consist of VTTCue samples (text/wvtt), while the XML-based TTML fragments can use timing attributes that are either track-relative (subt/stpp) or fragment-relative (text/dfxp).
For TTML, the following profiles are supported: DFXP, SMPTE-TT, EBU-TT-D, SDP-US,
CFF-TT and the IMSC1 Text Profile. Timing attributes
expected in sibling elements under
It is possible to POST subtitles from a source that is different than the encoder that POSTs the video and audio tracks, but keep in mind that the timestamps of all tracks will need to be synchronized, which is challenging. Therefore, we do not recommend this kind of setup.
Depending on whether input for Origin is fragmented TTML or fragmented WebVTT, it will output subtitles in a different formats for MPEG-DASH, Apple HLS and Microsoft Smooth Streaming. The overview in the table below applies to both Origin VOD and Origin Live:
|Output||TTML input||WebVTT input|
|DASH||Fragmented TTML + (VOD only) WebVTT sidecar||Fragmented WebVTT + (VOD only) WebVTT sidecar|
|HLS||Plain-text WebvTT fragments||Plain-text WebvTT fragments|
Support for playback of subtitles varies greatly from player to player. Please make sure you are using the latest version of your player and make yourself aware of its limitations regarding subtitle support.
Subtitles for MPEG-DASH¶
TTML-based subtitles are presented using
stpp codec, with timing attributes
relative to start of track, usually (1970-01-01 00:00:00 UTC). The
follows ISO/IEC 14496-30:2014 - Web Video Text Tracks.
Subtitles for HTTP Live Streaming¶
Subtitles for HLS require at least version 4 of the HLS protocol.
Make sure to set this using the --hls.client_manifest_version option:
If both WebVTT and TTML-based subtitles are ingested for a given language, both
tracks will be advertised in the master playlist. To exclude the TTML-based
subtitles from the playlist, use dynamic track selection,
Subtitles for HTTP Smooth Streaming¶
Enabling subtitles in the Silverlight player (MMP Player Framework 2.7) is
done by adding the following value to the
param name="InitParams" value="enablecaptions=true, selectedcaptionstream=textstream_eng, mediaurl=...
Note that parameter for the
selectedcaptionstream is the name of the text
track as given by the @Name attribute in the Smooth Streaming client manifest.
Subtitles for HTTP Dynamic Streaming¶