Timed Text Markup Language
XML pro titulky a titulky pro neslyšící od W3C, které vyžadují vysílatelé a streamovací služby. DFXP byl název jeho prvního profilu a mnoho souborů ho stále nese. IMSC, EBU-TT-D a iTT od Applu jsou také TTML, každý s vlastními zvyky.
Na první pohled
| Přípona | .ttml |
|---|---|
| Typ média | application/ttml+xml |
| Specifikace | W3C, Timed Text Markup Language 1 (TTML1), doporučení. TTML2 jej rozšiřuje; IMSC a EBU-TT-D jsou podmnožiny pro distribuci. |
| Přesnost času | Libovolná: zlomky sekundy, snímky nebo tiky |
| Kódování textu | Uvedeno v XML. Téměř vždy UTF-8. |
| Stylování | Pojmenované styly a atributy tts:: písmo, velikost, barva, pozadí, kurzíva, tučné, podtržení, přeškrtnutí, obrys |
| Umístění | Oblasti (regions): rámečky umístěné a dimenzované kamkoli na obraze |
| Mluvčí | Agenti (ttm:agent), pojmenovaní v hlavičce |
| V kontejnerech | MP4 jako stpp (ISO/IEC 14496-30), ve streamech DASH, CMAF a HLS |
Anatomie souboru
Dokument XML: hlavička, která pojmenovává styly a oblasti, a tělo s odstavci, jeden pro každý titulek.
<tt xml:lang="en" …> <head>styly, oblasti</head> <body><div> <p begin="00:00:23.000" end="00:00:24.500"> You're a jerk,<br/>Thom.</p> </div></body> </tt>
- 1 · Kořen
<tt>s jmennými prostory TTML, jazykem a hodinami, podle kterých se čas počítá:ttp:frameRate,ttp:tickRate. - 2 · Hlavička
Pojmenované styly, oblasti obrazovky a kdo mluví.
- 3 · Časování
beginkaždého odstavce a jehoend, nebodur. - 4 · Text
Titulek. Rozpětí (span) stylují jeho část a
<br/>zalomí řádek.
Časy
TTML zapisuje čas více způsoby než jakýkoli jiný titulkový formát:
| Zápis | Co znamená |
|---|---|
00:00:23.500 |
Hodiny, minuty, sekundy a zlomek |
00:00:23:12 |
Snímky za sekundami: dvanáct při ttp:frameRate souboru |
23.5s, 23500ms, 1h |
Posun v hodinách, minutách, sekundách nebo milisekundách |
564f |
Snímky |
235000000t |
Tiky, ttp:tickRate jich je za sekundu |
Čas se počítá od toho, co ho drží. begin odstavce se počítá od začátku jeho <div> a <body>, a odstavec bez vlastního konce končí spolu s nimi.
Styly
Styl je sada atributů tts:. Text je přebírá v pořadí: od své oblasti, pak z body, div, odstavce a rozpětí kolem něj. Každý prvek přebírá styly, které jmenuje (style="s1 s2", a ty, které ony jmenují), pak své vlastní atributy.
| Atribut | Účinek | V Subtitld |
|---|---|---|
tts:fontStyle="italic" |
Kurzíva | Zachováno |
tts:fontWeight="bold" |
Tučně | Zachováno |
tts:textDecoration="underline", "lineThrough" |
Podtržení, přeškrtnutí | Zachováno |
tts:color |
Barva textu: název, #rrggbb, #rrggbbaa nebo rgb() |
Zachováno, bez průhlednosti |
tts:displayAlign, tts:textAlign |
Kde text sedí v oblasti | Zachováno, jako jedno z devíti míst |
tts:fontFamily, tts:fontSize |
Písmo a velikost | Nezachováno |
tts:backgroundColor, tts:textOutline |
Rámeček za textem, obrys | Nezachováno |
<set> |
Styl, který se mění v čase | Nezachováno |
Oblasti
Oblast je rámeček na obraze, umístěný pomocí tts:origin a velikostí tts:extent. Uvnitř něj tts:displayAlign umístí text nahoru, doprostřed nebo dolů (before, center, after), a tts:textAlign k jedné straně nebo na střed.
<region xml:id="top"
tts:origin="10% 10%"
tts:extent="80% 80%"
tts:displayAlign="before"/>
Subtitld spočítá, kam text dopadne, ať je oblast měřena v procentech, pixelech nebo buňkách, a vybere nejbližší z devíti míst, která SubRip pojmenovává {\an1} až {\an9}. Když soubor zapisuje, každé použité místo je oblast s tímto názvem: bottom, top, top-left…
Když soubor neříká. Výchozí hodnoty TTML umísťují text vlevo nahoře v jeho oblasti, přehrávače jej ale zobrazují dole a na střed, a Subtitld také. Čte textAlign="start" v oblasti bez velikosti nebo polohy jako vycentrované: soubory zapsané pycaption, včetně těch ze starších verzí Subtitld, jej dávají každé oblasti.
Profily
Většina TTML je zapsána podle profilu: podmnožiny jazyka s vlastními pravidly. Subtitld čte každý z nich jako TTML.
| Profil | Kde se používá | Jeho zvyky |
|---|---|---|
| DFXP | První profil TTML a přípona .dfxp |
Starší soubory v jmenném prostoru http://www.w3.org/2006/10/ttaf1 |
| IMSC 1 | Streaming přes DASH, CMAF a HLS | Profil W3C pro titulky a titulky pro neslyšící online |
| EBU‑TT‑D | Online přehrávače evropských vysílatelů | Prvky často s předponou: <tt:p> |
| SMPTE‑TT | Titulky pro neslyšící v americké televizi online | Doplňky SMPTE pro titulky převzaté z vysílání |
iTT (.itt) |
Dodávky do iTunes Store a Apple TV od Applu | Časy v snímcích (ttp:timeBase="smpte") |
TTML v Subtitld
- Text každého titulku a zalomení řádků
- Kurzíva, tučné, podtržení, přeškrtnutí a barva
- Kde na obrazovce titulek je
- Mluvčí jako agenti
- Začátek a konec na milisekundu, v pořadí
- Písma, velikosti, pozadí a obrysy řádek po řádku
- Přesná velikost a místo oblasti
- Styly, které se mění v čase, ruby, obrázkové titulky
- Překlady vedle originálu, dabing, tváře mluvčích
Pokud chcete zachovat to, co je vaše, uložte projekt .usfx.
Otevření souboru TTML
Subtitld otevře .ttml, .dfxp, .itt a .xml, a:
- čte TTML bez ohledu na to, jak je zapsáno: v jeho jmenném prostoru, ve starém jmenném prostoru DFXP, nebo s
tt:před každým prvkem; - čte každou formu času, počítanou od div a body, ve kterém je;
- sleduje styly tak, jak je TTML používá, a zachovává kurzívu, tučné, podtržení, přeškrtnutí a jakoukoli barvu jinou než bílou;
- umístí každý titulek tam, kam jej ukazuje jeho oblast;
- bere agenty jako mluvčí, připravené pro dabing, a
xml:langsouboru jako jazyk projektu; - čte kódování, které soubor deklaruje, a entity HTML, jako
.
Soubor, který není správně utvořeným XML, se otevře se zprávou udávající řádek a sloupec. Soubor, který vůbec není TTML, to řekne.
Export TTML
Export, pak Titulky a TTML nebo DFXP, nabízí:
- TextOriginál, překlad, nebo oba, s překladem pod ním.
- Jména mluvčíchVynechána, před textem (Thom: …), nebo jako agenti (
ttm:agent), vlastní způsob TTML. - FormátováníZachováno, nebo odstraněno.
- Posun časůKaždý titulek dříve nebo později o stejný interval.
- VzhledBílá s černým obrysem, nebo tak, jak jej kreslí náhled Subtitld: jeho písmo, barva a průhledný rámeček.
Soubor je TTML 1 v UTF-8. Časy se zapisují jako 00:00:23.000, každé místo, kde titulky sedí, jako oblast, formátování jako rozpětí (span) a zalomení řádků jako <br/>. Jeho xml:lang je jazyk textu, který drží. TTML a DFXP dostanou stejný soubor; liší se jen přípona.
TTML nebo WebVTT?
WebVTT pro <track> na webové stránce: prohlížeče jej čtou samy. TTML pro vysílatele, pro streamovací služby, které jej vyžadují, a pro přehrávače, které jej čtou, například dash.js a Shaka Player. Stránka WebVTT má zbytek.
Zajímavosti
TTML 1.0 se stalo doporučením W3C v listopadu 2010, po návrzích pojmenovaných podle jeho prvního profilu: Distribution Format Exchange Profile, DFXP.
Starý jmenný prostor http://www.w3.org/2006/10/ttaf1 pochází z návrhů z roku 2006, kdy TTML bylo Timed Text Authoring Format. Soubory jej stále nesou.
V roce 2016 získalo W3C za TTML cenu Technology & Engineering Emmy, vedle HBO, Netflixu, Telestreamu a SMPTE.
Související formáty
Otevřete ho v Subtitld spolu s videem a upravte časování na zvukové vlně.