# Timed Text Markup Language

Timed Text Markup Language (TTML), previously referred to as Distribution Format Exchange Profile (DFXP), is an XML-based W3C standard for timed text in online media and was designed to be used for the purpose of authoring, transcoding or exchanging timed text information presently in use primarily for subtitling and captioning functions. TTML2, the second major revision of the language, was finalized on November 8, 2018. It has been adopted widely in the television industry, including by Society of Motion Picture and Television Engineers (SMPTE), European Broadcasting Union (EBU), ATSC, DVB, HbbTV and MPEG CMAF and several profiles and extensions for the language exist nowadays.
TTML Content may also be used directly as a distribution format and is widely supported in media players, with the exception of major web browsers, where WebVTT, the second W3C standard for timed text in online media, has better built-in support in connection with the HTML5 <track> element; many organisations nevertheless use TTML content on web video using their own player code.

## History

The idea of adding timing information on the Web by extending HTML came very early on, out of the work done on the Synchronized Multimedia Integration Language. Based on XML, the work on TTML started in 2003 and an early draft was released in November 2004 as Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP). The first version of TTML, TTML1, was finalized in November 2010.
In 2010, after discussions about its adoption in HTML5, WHATWG opted for a new but more lightweight standard based on the popular SRT format, now named WebVTT.
In February 2012 the FCC declared the SMPTE closed-captioning standard for online video content, a superset of TTML, as a "safe harbor interchange, delivery format".
In 2015, Netflix, Home Box Office (HBO), Telestream, SMPTE, and W3C received a Technology & Engineering Emmy Award for the category “Standardization and Pioneering Development of Non-Live Broadband Captioning,” for their work on TTML.
TTML2, the second version of TTML started in February 2015, was finalized in November 2018, along with a new revision of TTML1.

## Profiles

The TTML standard specifies a wide range of features, of which a smaller set are sometimes necessary, depending on the specific application. For this reason, the standard developed the concept of profiles, which are subsets of required features from the full specification. TTML1 defines three standard profiles: DFXP Transformation, DFXP Presentation and DFXP Full. Many profiles of TTML were developed by W3C and other organizations over the years to subset or extend the features of TTML. The Timed Text Working Group maintains a registry used to identify TTML profiles.

### DFXP Transformation

This profile defines the minimum feature requirements that a transformation processor (e.g. caption converter) needs to support in order to be considered TTML compliant.

### DFXP Presentation

This profile defines the minimum feature requirements that a presentation processor (e.g. video player) needs to support in order to be considered TTML compliant.

### DFXP Full

This profile requires the support of all the feature defined by TTML specification.

### SMPTE-TT

This profile extends TTML with three SMPTE-specific elements aimed at legacy formats. Interoperability with pre-existing and regionally-specific formats (such as CEA-708, CEA-608, DVB Subtitles, and WST (World System Teletext)) is provided by means of tunneling data or bit map images and adding necessary metadata.
* #data – Base64 encoded binary data stream
* #image – Base64 encoded transparent PNG images
* #information – Metadata
The U.S Federal Communications Commission (FCC) has declared SMPTE-TT to be a safe harbor interchange and delivery format in February 2012.

### EBU-TT

The European Broadcasting Union (EBU) defined several related profiles. EBU-TT Part 1 (Tech3350) uses a subset of TTML1 constraining the features to make it more suitable for archive, exchange and use with broadcast video and web video applications. EBU-TT Part 3 (Tech3370) extends and constrains Part 1 further, in particular adding functionality to support live streaming of subtitles from the subtitle author to a distribution encoder. EBU-TT-D (Tech3380) is highly constrained profile of TTML1 intended specifically for distribution to players, and has been adopted by HbbTV, DVB and Freeview Play for example.

### IMSC

TTML Profiles for Internet Media Subtitles and Captions specifies two profiles, a text-only profile and an image-only profile, intended to be used across subtitle and caption delivery applications worldwide, thereby simplifying interoperability, consistent rendering and conversion to other subtitling and captioning formats. It incorporate extensions from SMPTE-TT and EBU-TT.

## Adoption
### ATSC

ATSC A/343 requires subtitle and caption content essence to be either IMSC 1 Text or Image Profile conformant.

### DVB

ETSI EN 303 560 v1.1.1 (May 2018) is the DVB TTML Subtitling Systems specification. It defines a default conformance point that is the common intersection of conformance between EBU-TT-D and IMSC 1 Text Profile, and allows for subtitle and caption documents conformant to EBU-TT-D, IMSC1 Text Profile or other profiles of TTML to be sent and signalled within DVB MPEG-2 transport streams, and includes the ability to embed fonts for subtitle presentation, also within the transport stream.

### HbbTV 2

ETSI TS 102 796 V1.5.1 (2018-09) is the HbbTV 2.0.2 specification. It specifies that conformant players must be able to play back EBU-TT-D subtitles delivered online for example in ISO BMFF via MPEG DASH, as well as allowing for other existing broadcast subtitle formats.

### HLS

At WWDC 2017 Apple announced support for IMSC 1 Text Profile in HLS, and shortly after shipped systems that include presentation support, including iOS and tvOS.

### Freeview Play

Freeview Play — Technical Specification 2018 Profile Version: 3.0.9 (14/07/2017) defines the application requirements for the Freeview (UK) hybrid IPTV and Broadcast device for the UK market, conforming to the HbbTV specification, requiring support for "DASH streaming technology with integrated EBU-TT-D subtitles".

### MPEG CMAF

CMAF is the Common Media Application Format published by MPEG as part 19 of MPEG-A, also published as ISO/IEC 23000-19:2018 Information technology -- Multimedia application format (MPEG-A) -- Part 19: Common media application format (CMAF) for segmented media. The format specifies CMFHD presentation profiles in which subtitle tracks shall include at least one "switching set" for each language and role in the IMSC 1 Text profile, while also allowing for other representations of subtitles in WebVTT.