Captions and Subtitles

Implement captions and subtitles by including:

CEA-608 only supports a limited number of tracks and has limited support for non-Latin characters, while WebVTT supports additional subtitle/caption tracks and provides full Unicode character support.

Device Support

Device support for CEA-608 and WebVTT is indicated below.

OS CEA-608

WebVTT

iOS version 6 or higher

*Supported for H.264 streams only. Convert CEA-608 captions to WebVTT for H.265 streams.

Android - our player library

Windows 8 RT - our player library

 

Our Flash Player

Deprecated

Deprecated

Deprecated

Roku

 

 

BB10

 

 

Embedded CEA-608/708 Data

CEA-608 data is preserved when embedded within a container format.

Key information:

Embedded Plain Text Captions/Subtitles

VODVideo On-Demand (VOD) allows the playback of content that was previously encoded and stored within our system. One use for VOD is to allow viewers to stream your content at any time. Only

Embedded plain text captions and subtitles (e.g., SRT subtitles) will be converted to WebVTT when a file contains a track marked as subtitle data.

Key information:

Subtitle Language Tracks (DASH VOD)

By default, a viewer may select from any of the subtitle language tracks associated with your VOD content. Your asset's language tracks are available even when viewing ad breaks that do not contain those language tracks. This allows the viewer to select a subtitle language track associated with the requested content at any time during the playback session. For example, this behavior allows a viewer to immediately select the desired subtitle language track upon requesting your content, regardless of whether they are viewing a pre-roll ad.

Override this behavior by setting one of the following query string parameters within the playback URL:

Query String Parameters Description

subtitle_placeholders_off

Set this parameter to 1 to only display the available language tracks.

This parameter overrides the dash_subtitles_merge parameter.

dash_subtitles_merge

Set this parameter to 0 to only display the language tracks that have been embedded within the asset.

Enabling WebVTT for HLS Live Streams

Leverage WebVTT tracks when streaming a live event or live channel via HLS by adding the following query string parameter to the playback URL:

show_vtt=1

Key information:

Digital Video Broadcasting (DVB) Teletext for Live Streams

Add closed captions from one or more DVB teletext pages by converting it to WebVTT. Convert DVB teletext to WebVTT by defining the render_teletext parameter in your Live Slicer configuration file.

Key information:

Timed Text Markup Language (TTML)

VODVideo On-Demand (VOD) allows the playback of content that was previously encoded and stored within our system. One use for VOD is to allow viewers to stream your content at any time. Only

Captions and subtitles within a sidecar TTML file will be converted to both CEA-608 and WebVTT whenever possible.

Key information:

TTML Layout and Formatting

Please make sure that your TTML files conform to the following layout:

<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/2006/04/ttaf1" xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling">
<head>
	<styling>
		<style id="defaultCaption" tts:fontStyle="normal" tts:textAlign="center" />
			...
	</styling>
</head>
<body style="defaultCaption" id="thebody">
	<div xml:lang="en">
		<p begin="00:00:01.420" end="00:00:02.620"><metadata ccrow="14" cccol="3" /><span tts:fontStyle="italic">THIS IS SOME TEXT...</span></p>
		...
	</div>
	...
</body>
</tt>

Please ensure that your tags conform to the following specification:

CEA-608 Conversion

All TTML tracks will be converted WebVTT format, but only one track will be converted to CEA-608. The Slicer will choose the track with the fewest characters that cannot be converted to the CEA-608 default character set.

Key information:

Fragmented TTML for DASH VOD

The Slicer will output a fragmented TTML for DASH VOD for a TTML document or a DVB-TTML stream when the following conditions are met:

  1. Pass one of the following set of options to the Slicer:

  2. Set show_dash_subtitles=imsc within the playback URL's query string.

    Sample manifest request:

    https://content.uplynk.com/1234567890abcdefghijklmnopqrstuv.mpd?show_dash_subtitles=imsc

Scenarist Closed Captions (SCC)

VODVideo On-Demand (VOD) allows the playback of content that was previously encoded and stored within our system. One use for VOD is to allow viewers to stream your content at any time. Only

Captions and subtitles within a sidecar SCC file will be converted to CEA-608. It will also be converted to WebVTT when the render_608 parameter is passed. Use the scc parameter to define the location of a sidecar SCC file. The Slicer will replace embedded captions or subtitles with the data defined within the SCC file.

WebVTT Codec Initialization for DASH Live Streaming

The WebVTT codec is automatically initialized for VOD playback of an asset that leverages that codec. This occurs regardless of whether a pre-roll ad contains that codec.

The WebVTT codec may not be initialized when the initial request is for a pre-roll ad that does not contain the WebVTT codec. This will prevent the codec from working within that playback session.

Ensure that the WebVTT codec is always initialized by playing a short clip that contains it at the start of playback. This clip, which is known as a codec initialization clip, should be nearly undetectable during playback. Add this clip by including one of the following parameters within the playback URL:

Parameter Description

smartcic

Set this parameter to 1 to only prepend a codec initialization clip to the manifest file when the main content contains WebVTT subtitles.

forcecic

Set this parameter to 1 to always prepend a codec initialization clip to the manifest file.