Naar de hoofdinhoud
SubtitleMatrix

TTML naar TXT

FormaatconversieTTML / DFXP
Of plak ondertiteltekst

Wat deze conversie verandert

5 dingen vervallen of vragen om een beslissing

  • Timing

    de hele tijdlijn (het uitvoerformaat legt helemaal geen tijden vast)

  • Opmaak

    alle opmaak (vet, cursief, kleur, contour, schaduw)

  • Positionering

    positionering op het scherm (elk blok keert terug naar de standaardpositie)

  • Regeleinden

    regeleinden (blokken van meerdere regels worden tot één regel samengevoegd)

  • Formaatspecifieke inhoud

    inhoud die het bronformaat buiten zijn blokken bewaart (blokken die geen ondertitel zijn, koptekst, instellingen per blok, uitgecommentarieerde gebeurtenissen) — het doelformaat heeft er geen plek voor

Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.

Deze pagina zet TTML om naar TXT. Wat overblijft is platte tekst: de regels in dezelfde volgorde, zonder tijdstippen, zonder opmaak en zonder de kop van het document. Handig voor een transcriptie of een vertaalronde.

Daarmee gaat bijna alles wat TTML bijzonder maakt verloren. De styling- en layout-tabellen, de metadata, de positionering en de regeleinden tussen regels die bij elkaar hoorden, hebben in TXT geen plek. Een blok van twee regels wordt twee losse regels; teruglezen levert dus twee ondertitelblokken op waar het TTML-bestand er één had.

De volgorde blijft wel kloppen: de regels worden op hun startmoment gesorteerd. Alles gebeurt in je browser, zonder upload; meerdere bestanden gaan samen in één ZIP.

Voorbeelden

Een gewoon TTML-bestand, omgezet naar TXT

Invoer

<?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>

Uitvoer

Hello there.
How are you?
Fine, thanks.

Hier gaan timing, opmaak, positionering, regeleinden en formaateigen inhoud verloren. De woorden zelf, en hun volgorde, blijven gelijk.

Dezelfde omzetting op een weerbarstige invoer

Invoer

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    ttp:frameRate="25" xml:lang="en">
  <body>
    <div>
      <p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
      <p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
      <p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
      <p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom &amp; Jerry.</p>
    </div>
  </body>
</tt>

Uitvoer

Loaded from an offset and a duration.
A coarser clock spelling.
Frames, at 25fps.
Half-open and Tom &amp; Jerry.

Dit is het soort schade dat echte bestanden hebben: gemengde regeleinden, losse spaties, een p-element zonder eigen eindtijd. Vergelijk het met het nette voorbeeld hierboven.

Veelgestelde vragen

Waar zijn de tijdstippen van het TTML-bestand in TXT gebleven?

TXT kent ze niet: een tekstexport bestaat uit woorden, niet uit momenten. De volgorde van de regels blijft behouden, maar de uitvoer zegt nergens meer wanneer een regel in beeld kwam.

Wat gebeurt er met vet, cursief en kleur van TTML naar TXT?

TXT bewaart geen enkele vorm van opmaak, dus alles gaat weg: een span met een kleur binnen een p, of een benoemde stijl uit de styling-tabel waarnaar die p verwijst — niets ervan heeft een plek, en elke regel wordt als platte tekst geschreven. De woorden zelf blijven onaangeroerd.

Wat gebeurt er met de plaats op het scherm van TTML naar TXT?

TXT kan niet zeggen waar een ondertitel wordt getekend, dus de region- en style-verwijzingen op een p verdwijnen en elk blok valt terug op de standaardpositie die de speler kiest — bij de meeste spelers onderaan, gecentreerd.

Wat gebeurt er met een TTML-blok van twee regels in TXT?

Beide regels worden onder elkaar geschreven, maar het bestand zegt niet meer dat ze bij elkaar horen. TXT kan regels niet tot één cue groeperen, dus teruglezen levert twee ondertitelblokken op waar je TTML-bestand er één had.

Wat gebeurt er met de TTML-proloog, de styling- en layout-tabellen in TXT?

Die verdwijnen. TTML bewaart uiterlijk en plaatsing in de head: de XML-declaratie, de styling-tabel met benoemde stijlen, de layout-tabel met benoemde regio’s, metadata en de verwijzingen daarop. TXT kent cues, geen document, dus niets uit die head heeft een plek. Ook opmaak binnen een p-element komt er niet in.

Hoe ziet de TXT-uitvoer eruit als TTML daar naartoe gaat?

Als platte tekst: één regel per ondertitelregel, zonder nummers en zonder tijden. De sorteervolgorde is die van de beginmomenten in het TTML-bestand.

Blijft de volgorde van TTML-blokken in TXT gelijk?

Ja, de regels komen op starttijd te staan, vroegste eerst. Een TTML-bestand dat niet op volgorde stond, komt hier in de juiste volgorde te staan; de tekst zelf blijft ongewijzigd.

Kan ik TXT weer naar TTML omzetten?

Ja, met een eigen lijst: TXT naar TTML verliest timing. Die lijst verschilt van de lijst hierboven omdat TXT geen tijdinformatie heeft om mee te nemen.

Blijft de tekencodering van het TTML-bestand in TXT behouden?

Nee, de uitvoer is UTF-8 met Unix-regeleinden en zonder byteordemarkering, ongeacht de invoer. Een TTML-bestand in UTF-16 of een Windows-codering wordt bij het inlezen omgezet; de TXT-uitvoer is daarna altijd dezelfde UTF-8-tekst.

Gerelateerde hulpmiddelen