Skip to main content
View as Markdown

Caption Formats - Content Management

Caption Formats​

Supported Formats​

ValueNameDescription
1SRTSubRip subtitle format
2DFXPDistribution Format Exchange Profile (TTML/XML)
3WEBVTTWeb Video Text Tracks (W3C standard)
4CAPCheetah CAP (broadcast systems)
5SCCScenarist Closed Captions (CEA-608, broadcast TV)

Format Comparison​

FormatBest ForStylingPositioningStandard
SRTUniversal compatibilityBasic HTML (<b>, <i>)NoDe facto
WebVTTHTML5 video, web playersCSS cue stylingYes (line, position, align)W3C
DFXP/TTMLOTT/Netflix, broadcastFull XML styling, regionsYes (precise regions)W3C/SMPTE
SCCBroadcast TV (CEA-608)Roll-up/pop-on modesYes (row/column)FCC
CAPBroadcast (Cheetah systems)System-specificSystem-specificProprietary

SRT Format Reference​

1
00:00:00,000 --> 00:00:05,000
Welcome to the presentation.

2
00:00:05,000 --> 00:00:10,000
Today we cover the Kaltura API.
<i>Let's get started.</i>

Timing format: HH:MM:SS,mmm --> HH:MM:SS,mmm. Supports <b>, <i>, <u> HTML tags. Blank line separates cues.

WebVTT Format Reference​

WEBVTT

00:00:00.000 --> 00:00:05.000 position:10% align:start
Welcome to the presentation.

00:00:05.000 --> 00:00:10.000
<v Speaker>Today we cover the Kaltura API.</v>

Requires WEBVTT header on first line. Timing uses . as the millisecond separator. Supports cue settings (position, line, align, size), speaker identification (<v>), and CSS styling.

DFXP/TTML Format Reference​

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xml:lang="en">
<body>
<div>
<p begin="00:00:00.000" end="00:00:05.000">Welcome to the presentation.</p>
<p begin="00:00:05.000" end="00:00:10.000">Today we cover the Kaltura API.</p>
</div>
</body>
</tt>

XML-based format with full region support, multi-language tracks in a single file, and precise styling via TTML profiles.

Browser/Player Compatibility​

WebVTT is natively supported by all modern browsers. Kaltura Player v7 auto-converts all formats to WebVTT for display using serveWebVTT. Store captions in any supported format — the player handles conversion.

Format Conversion Behavior​

  • SCC to SRT: Auto-converted on upload via server batch job. SCC positioning data (row/column) is lost in the conversion.
  • Any format to WebVTT: On-the-fly conversion via captionAsset.serveWebVTT. TTML regions and SCC positioning are simplified.
  • Any format to JSON: On-the-fly conversion via captionAsset.serveAsJson. Structured output for programmatic consumption.

Caption Languages​

Use KalturaLanguage enum values — human-readable language names: "English", "Spanish", "French", "German", "Japanese", "Chinese", "Arabic", "Portuguese", "Russian", "Korean", "Italian", "Dutch", "Hebrew", "Hindi", etc. (300+ languages supported).

The languageCode field is automatically derived as a read-only ISO 639 code from the language value.