Skip to content
Novus Examples
ttml595 B

TTML Captions (DFXP)

A TTML (Timed Text Markup Language / DFXP) caption document — timed XML paragraphs with a styling region — carrying the same captions, for testing XML caption parsers and IMSC players.

Preview — first 16 linesttml
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
  <head>
    <styling>
      <style xml:id="s1" tts:color="white" tts:fontSize="100%" tts:textAlign="center"/>
    </styling>
  </head>
  <body>
    <div>
      <p begin="00:00:00.000" end="00:00:02.500">Welcome to Novus Examples.</p>
      <p begin="00:00:02.500" end="00:00:05.000">These are free sample subtitle files.</p>
      <p begin="00:00:05.000" end="00:00:08.000">Use them to test parsers, players, and converters.</p>
    </div>
  </body>
</tt>

Specifications

Format
TTML (W3C Timed Text)
Cues
3
Timing
HH:MM:SS.mmm
Captions
same as the SRT/VTT twins
Styling
tts namespace

What is a .ttml file?

TTML (Timed Text Markup Language, .ttml, also called DFXP) is a W3C XML format for timed text and captions. It wraps timed paragraphs in a tt document with styling and layout regions, and underlies broadcast and streaming caption profiles like IMSC, SMPTE-TT, and EBU-TT.

How to use this file

Use an example .ttml file to test XML caption parsers, TTML/IMSC players, and conversion to or from SRT, VTT, and SCC.

How to use this file for testing

“TTML Captions (DFXP)” is a deterministic Novus Examples fixture for Subtitle parsing, Conversion testing, Editor testing. The same captions written out across SubRip, WebVTT, ASS/SSA, SBV, TTML and a synced LRC lyric file, with known timings — for exercising subtitle parsers, format converters and burn-in tools against every serialisation.

Documented properties for this file: 3 cues · TTML (W3C Timed Text). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Document fixtures list their internal structure (pages, fields, tracked changes, embedded objects) in the spec table. Test extractors, converters, and OCR against that known structure, and compare searchable↔scanned or format-twin companions when present.

Parse the cues and check timings against the documented count; the same captions ship across subtitle formats so you can diff a converter against a known target.

Code examples

<video controls src="clip.mp4">
  <track kind="captions" srclang="en" label="English" src="captions.ttml" default>
</video>

Generated by generation/subtitles_extra.py. Free for any use, no attribution required — license.