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, to which the deprecated
text/ttml will be remapped as well).
For TTML, the following profiles are supported: DFXP, SMPTE-TT, EBU-TT-D,
SDP-US, CFF-TT and the IMSC1 Text Profile. Timing attributes
@end are 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 outputs subtitles in 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:
|Protocol||Fragmented TTML input||Fragmented WebVTT input|
|DASH||Fragmented TTML + (VOD only) TTML sidecar||Fragmented WebVTT + (VOD only) WebVTT sidecar|
|HLS||WebVTT Segments||WebVTT Segments|
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¶