TTML-tekstitysmuoto
Mitä tämä muoto voi ilmaista
- Tekstin tyyli
- Fontit, väri, ääriviiva, varjo
- Sijoittelu ruudulla
- Kyllä
- Karaokeajoitus
- Ei
- Rivinvaihdot alaotsikon sisällä
- Kyllä
- Aikajana
- Alku- ja loppuaika jokaiselle alaotsikolle
- Ajoituksen tarkkuus
- 1 ms
- Ajoitus tallennetaan ruutunumeroina
- Ei
- Oikealta vasemmalle -teksti
- Kyllä
Esimerkit
Tyypillinen TTML-tiedosto ja mitä siitä luetaan
Tiedosto
<?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="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
Mitä se sisältää
2 cues, 3 lines of text
00:00:01.000 → 00:00:03.500
Hello there. [italic ×1]
[region="bottom" style="s1"]
00:00:03.500 → 00:00:06.000
How are you?
Fine, thanks.
[region="bottom"]
Outside the cues:
prolog an XML declaration and the namespace bindings, kept as they came in
styling 1 × <style> — "s1", the colour and weight a paragraph points at by name
layout 1 × <region> — "bottom", the origin and extent a paragraph points at by name
resolved the head is kept as it was written and is not applied here — a paragraph's style="s1" region="bottom" stays an attribute, not a colour or a screen positionOikeanpuoleinen sarake ei ole muunnettu tiedosto vaan se, mitä tämä sivu lukee vasemmalta puolelta ja mistä jokainen TTML-muunnos alkaa.
Rikkinäinen TTML-tiedosto ja miten se luetaan
Tiedosto
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<div begin="00:00:01.000" end="00:00:05.000">
<p>Inherits its timing from the div, which we do not resolve.</p>
<p begin="00:00:06.000" end="00:00:07.000">This one has its own timing.</p>
</div>
<!-- <p begin="00:00:08.000" end="00:00:09.000">commented out</p> -->
<div>
<p begin="00:00:10.000"/>
<p begin="00:00:11.000" end="00:00:12.000">Last one.</p>
</div>
</body>
</tt>
Mitä se sisältää
3 cues, 2 lines of text
00:00:06.000 → 00:00:07.000
This one has its own timing.
00:00:10.000 → 00:00:12.000
(no text)
00:00:11.000 → 00:00:12.000
Last one.
Outside the cues:
prolog an XML declaration and the namespace bindings, kept as they came in
head none — no <styling> and no <layout>, and no paragraph points at one either
comments the commented-out <p> stays a comment, in the place it was written
divs the timings on an enclosing <div> are not pushed down onto the paragraphs inside it
Reported while reading — repaired or skipped, never silently:
1 × paragraphs with no readable begin time of their own (they were skipped — see the note about timing inherited from an enclosing div)
1 × paragraphs with neither an end time nor a duration of their own (their end times were generated)Oikeat TTML-tiedostot saapuvat BOM-merkinnän, Windows-rivinvaihtojen ja lukukelvottomien aikakoodien kanssa. Jäsennin ei kaadu: se korjaa minkä voi ja kertoo loput raportissa.
Muunna TTML (Timed Text) toiseen muotoon
Jokainen näistä toimii kokonaan selaimessasi. Nimikkeet kertovat, mitä tuo suunta maksaa, ennen kuin avaat sen.
- Tarkkuus
- Muotokohtainen sisältö
- Tyyli
- Sijoittelu
- Muotokohtainen sisältö
- Muotokohtainen sisältö
- Ajoitus
- Tyyli
- Sijoittelu
- Tarkkuus
- Muotokohtainen sisältö
- Tyyli
- Sijoittelu
- Kuvanopeus
- Muotokohtainen sisältö
- Tyyli
- Sijoittelu
- Muotokohtainen sisältö
- Tyyli
- Muotokohtainen sisältö
- Tyyli
- Sijoittelu
- Muotokohtainen sisältö
- Tarkkuus
- Muotokohtainen sisältö
- Ajoitus
- Tyyli
- Sijoittelu
- Rivinvaihdot
- Muotokohtainen sisältö
- Tyyli
- Sijoittelu
- Muotokohtainen sisältö
Muuntaminen tähän muotoon
- SubRip (SRT) → TTML (Timed Text)
- WebVTT (VTT) → TTML (Timed Text)
- Advanced SubStation Alpha (ASS) → TTML (Timed Text)
- SubStation Alpha (SSA) → TTML (Timed Text)
- YouTube SBV → TTML (Timed Text)
- SAMI (SMI) → TTML (Timed Text)
- LRC Lyrics → TTML (Timed Text)
- MicroDVD → TTML (Timed Text)
- SubtitleMatrix JSON → TTML (Timed Text)
- Plain Text (TXT) → TTML (Timed Text)
- CSV Spreadsheet → TTML (Timed Text)
TTML on XML-pohjainen tekstitysmuoto, jota käyttävät muun muassa Netflix, EBU-TT-D ja IMSC. Jokainen alaotsikko on p-elementti begin- ja end-määritteineen. Tämä sivu on TTML-muodon kuvaus: mitä se tallentaa, mitä se ei tallenna ja mihin sen voi muuntaa. Alla oleva taulukko kertoo TTML-muodon ominaisuudet – jokainen rivi on asia, joka joko säilyy tai katoaa, kun tiedosto muunnetaan toiseen muotoon.
TTML tallentaa täyden tyylittelyn: fontit, koot, värit, ääriviivat ja marginaalit. TTML tallentaa sijoittelun ruudulle. TTML ei tue karaokea. TTML tallentaa jokaiselle alaotsikolle alku- ja loppuajan millisekunnin tarkkuudella. TTML tukee monirivisiä alaotsikoita.
Alla on jokainen suunta, johon TTML-tiedosto voidaan muuntaa. Koko TTML-muunnos tapahtuu omassa selaimessasi ilman palvelinta ja ilman tiliä. Eräajossa koko TTML-kausi menee yhdellä kertaa, ajon voi keskeyttää ja tulokset saa ZIP-tiedostona.
Usein kysytyt kysymykset
Mikä on TTML-tiedosto ja mitä siihen mahtuu?
TTML on XML-pohjainen tekstitysmuoto, jota käyttävät muun muassa Netflix, EBU-TT-D ja IMSC. Jokainen alaotsikko on p-elementti begin- ja end-määritteineen. Tiedosto voi sisältää useita rivejä alaotsikkoa kohden.
Tallentaako TTML tyylejä ja sijoittelua?
TTML tallentaa täyden tyylittelyn: fontit, koot, värit, ääriviivat ja marginaalit. TTML tallentaa sijoittelun ruudulle. TTML ei tue karaokea. Rivinsisäinen muotoilu tallennetaan näin: <span>-elementit ja <br/>.
Onko jokaisella TTML-tiedoston alaotsikolla alku- ja loppuaika?
Kyllä. TTML kirjoittaa ajan muodossa begin="00:00:01.000" end="00:00:03.500", eli XML-määritteinä millisekunnin tarkkuudella, ja sekä alku että loppu ovat tiedostossa.
Mihin muotoihin TTML-tiedoston voi muuntaa ilman menetyksiä?
Ei mihinkään: jokaisessa suunnassa TTML-tiedostosta jää jotain pois, koska TTML tallentaa enemmän kuin muut formaatit. Jokainen muunnossivu kertoo oman menetyksensä ennen tiedoston valintaa.
Mitä TTML tallentaa alaotsikoiden ulkopuolella?
TTML tallentaa alaotsikoiden ulkopuolelle prologi, head-osion tyylitaulu ja alueet sekä div-rakenne. Nämä eivät ole alaotsikoita, mutta ne kuuluvat tiedostoon: muunnoksessa toiseen formaattiin ne jäävät pois, jos kohde ei tunne samaa rakennetta.
Miten TTML eroaa lähimmästä sukulaisestaan?
TTML on XML-dokumentti, WebVTT on kevyt tekstimuoto. TTML:n head-osion tyylit ja alueet eivät siirry WebVTT:hen, kun taas WebVTT:n NOTE- ja STYLE-lohkot eivät sovi TTML:n rakenteeseen.
Miten tämä sivu lukee TTML-tiedostoa, kun tiedosto on rikki?
TTML luetaan XML-rakenteena: p-elementtien begin- ja end-arvot ovat auktoriteetti, ja p-elementtien ulkopuolinen runko säilytetään ennallaan. Tuntematon elementti ei kaada lukua, vaan se raportoidaan, jos se jäisi muunnoksessa pois.