Naar de hoofdinhoud
SubtitleMatrix

SRT naar TTML

FormaatconversieSubRip (SRT)
Of plak ondertiteltekst

Wat deze conversie verandert

In deze richting gaat niets verloren — elk kenmerk van het bronformaat heeft in het doelformaat een plek.

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 SRT om naar TTML. Sleep een bestand erin — of plak de tekst — en je krijgt de TTML-versie terug. De omzetting draait volledig in je browser, dus niets wordt geüpload en je hebt geen account nodig.

In deze richting gaat niets verloren. Elke eigenschap die SRT kan uitdrukken heeft een equivalent in TTML, dus de uitvoer is dezelfde ondertitels in een ander omhulsel — de tijdlijn, de regeleinden en de tekst overleven allemaal. Dat geldt voor elk SRT-bestand, ook voor een dat elke functie van het formaat gebruikt.

Eén bestand is prima, en een heel seizoen ook: de wachtrij werkt ze in volgorde af en de resultaten komen samen als één ZIP binnen.

Voorbeelden

Een typisch SRT-bestand, omgezet naar TTML

Invoer

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Uitvoer

<?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>
<p begin="00:00:01.000" end="00:00:03.500">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000"><span tts:fontStyle="italic">Whispering</span> now.<br/>And a second line.</p>
<p begin="00:00:06.000" end="00:00:09.250"><span tts:fontWeight="bold">Bold</span> statement.</p>  </body>
</tt>

Hier gaat niets verloren: vergelijk beide kanten regel voor regel.

Dezelfde omzetting op een rommelige invoer

Invoer

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

Uitvoer

<?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>
<p begin="00:00:01.000" end="00:00:03.500"><span tts:fontWeight="bold">Bold</span> and <span tts:fontStyle="italic">italic</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000"></p>
<p begin="00:00:08.000" end="00:00:09.000">Last one.</p>  </body>
</tt>

Zo zien echte bestanden eruit — gemengde regeleinden, losse spaties, lege velden. Vergelijk met het nette voorbeeld hierboven om te zien wat de parser vergeeft.

Veelgestelde vragen

Hoe ziet de TTML-uitvoer eruit als SRT wordt omgezet?

Als TTML: geen bloknummers, maar elke ondertitel is een <p>-element met begin- en eindattributen, genest in een <body>, met een XML-declaratie boven het hele document. Elk SRT-blok wordt één TTML-blok, in dezelfde volgorde, met dezelfde tekst.

Zijn de SRT-tijden exact in het TTML-bestand?

Ja, tot op de milliseconde — fijner gaat geen van beide formaten. SRT schrijft een moment als 00:00:04,126 en TTML schrijft hetzelfde moment als 00:00:04.126; niets wordt afgerond of verschoven.

Hoe komt een SRT-blok van twee regels in TTML terecht?

Als twee regels met een <br/> ertussen, de manier waarop TTML een harde regeleinde schrijft. Het paar blijft bij elkaar — de twee SRT-regels horen in de TTML-uitvoer nog steeds bij één ondertitel.

Blijft de volgorde van SRT-blokken bewaard in TTML?

Ja, en ze worden onderweg op begintijd gesorteerd — vroegste eerst. Een SRT-bestand met blokken door elkaar komt in de TTML-uitvoer terug in de juiste volgorde; dat is een structurele wijziging, geen inhoudelijke.

Kan ik de TTML daarna weer naar SRT omzetten?

Ja, en die richting heeft zijn eigen lijst: TTML naar SRT verliest opmaak, positionering en formaateigen inhoud, waaronder de stijl- en regiosecties van TTML. Deze kant op gaat niets verloren.

Behoudt de TTML-uitvoer de tekencodering van het SRT-bestand?

Nee — de uitvoer is UTF-8, met Unix-regeleinden en zonder byte-order mark, wat het SRT-bestand ook gebruikte. Een bestand in UTF-16 of een Windows-eenbytecodering wordt bij het inlezen gedecodeerd; wat eruit komt is altijd dezelfde UTF-8-TTML.

Gerelateerde hulpmiddelen