Caption Formats - Content Management
Caption Formats
Supported Formats
| Value | Name | Description |
|---|---|---|
| 1 | SRT | SubRip subtitle format |
| 2 | DFXP | Distribution Format Exchange Profile (TTML/XML) |
| 3 | WEBVTT | Web Video Text Tracks (W3C standard) |
| 4 | CAP | Cheetah CAP (broadcast systems) |
| 5 | SCC | Scenarist Closed Captions (CEA-608, broadcast TV) |
Format Comparison
| Format | Best For | Styling | Positioning | Standard |
|---|---|---|---|---|
| SRT | Universal compatibility | Basic HTML (<b>, <i>) | No | De facto |
| WebVTT | HTML5 video, web players | CSS cue styling | Yes (line, position, align) | W3C |
| DFXP/TTML | OTT/Netflix, broadcast | Full XML styling, regions | Yes (precise regions) | W3C/SMPTE |
| SCC | Broadcast TV (CEA-608) | Roll-up/pop-on modes | Yes (row/column) | FCC |
| CAP | Broadcast (Cheetah systems) | System-specific | System-specific | Proprietary |
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.