TTML-Untertitelformat
Was dieses Format ausdrücken kann
- Textformatierung
- Schriften, Farbe, Kontur, Schatten
- Positionierung auf dem Bildschirm
- Ja
- Karaoke-Zeitangaben
- Nein
- Zeilenumbrüche innerhalb eines Blocks
- Ja
- Zeitachse
- Start- und Endzeit für jeden Block
- Zeitauflösung
- 1 ms
- Zeitangaben als Bildnummern gespeichert
- Nein
- Rechts-nach-links-Text
- Ja
Beispiele
Eine typische TTML-Datei und was daraus gelesen wird
Datei
<?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>
Was sie enthä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 positionDie rechte Seite ist keine umgewandelte Datei, sondern das, was diese Seite aus der linken liest — und der Ausgangspunkt jeder Umwandlung dieser Datei.
Eine unordentliche TTML-Datei und was trotzdem gelesen wird
Datei
<?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>
Was sie enthä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)So sehen echte Dateien aus: gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie das mit dem sauberen Beispiel oben, dann sehen Sie, was der Parser verzeiht.
TTML (Timed Text) in ein anderes Format konvertieren
Jede davon läuft vollständig in Ihrem Browser. Die Beschriftungen sagen, was diese Richtung kostet, bevor Sie sie öffnen.
- Genauigkeit
- Formatspezifischer Inhalt
- Formatierung
- Positionierung
- Formatspezifischer Inhalt
- Formatspezifischer Inhalt
- Zeitangaben
- Formatierung
- Positionierung
- Genauigkeit
- Formatspezifischer Inhalt
- Formatierung
- Positionierung
- Bildrate
- Formatspezifischer Inhalt
- Formatierung
- Positionierung
- Formatspezifischer Inhalt
- Formatierung
- Formatspezifischer Inhalt
- Formatierung
- Positionierung
- Formatspezifischer Inhalt
- Genauigkeit
- Formatspezifischer Inhalt
- Zeitangaben
- Formatierung
- Positionierung
- Zeilenumbrüche
- Formatspezifischer Inhalt
- Formatierung
- Positionierung
- Formatspezifischer Inhalt
In dieses Format konvertieren
- 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 (Timed Text) ist das Format, in dem Fernsehen und Streaming Untertitel beschreiben: ein XML-Dokument, dessen <head> benannte Stile und Regionen deklariert, während die <p>-Elemente im <body> die eigentlichen Untertitel sind. Diese Seite ist die Referenz dazu — was TTML speichern kann, was nicht, und wohin es sich umwandeln lässt.
Die Tabelle oben ist die vollständige Liste; eine versteckte Funktionsliste gibt es nicht. Steht dort Nein, ist genau das verloren, wenn Sie nach TTML hineinkonvertieren — und jede unten verlinkte Umwandlungsseite sagt es Ihnen, bevor Sie eine Datei öffnen.
Alle diese Umwandlungen laufen in Ihrem Browser. Nichts wird hochgeladen, keine Anmeldung ist nötig — das zählt bei Material unter Geheimhaltungsvereinbarung, bei Patientendaten oder bei einer Sendesperrfrist.
Häufige Fragen
Was ist eine TTML-Datei?
TTML ist das getaktete Textformat, in dem Rundfunk und Streaming Untertitel schreiben: ein XML-Dokument mit einem <head>, der benannte Stile (tts:color, tts:fontWeight) und Regionen (tts:origin, tts:extent) deklariert, und <p>-Elementen im <body>, die die Untertitel tragen. Die Profile SMPTE-TT und IMSC bauen darauf auf.
Speichert TTML Formatierung?
Ja, und mehr als die anderen Formate: eine Stiltabelle für Schrift, Größe, Farbe, Kontur und Rand sowie Codes direkt im Text, sodass eine Zeile fett, farbig und platziert sein kann, ohne einen benannten Stil zu brauchen. Karaoke speichert TTML nicht — es hält fest, wann ein Untertitel beginnt und endet, nicht wann eine Silbe aufleuchtet.
Hat jeder TTML-Untertitel Start und Ende?
Ja, und ein Zeitpunkt liest sich als 00:00:04.126. TTML zählt intern in Ticks; die Auflösung legt ttp:tickRate fest, und je nach Profil stehen Zeiten als Uhrzeit, als Sekundenangabe wie 1.5s oder als Einzelbild wie 00:00:07:00 in der Datei. Gelesen wird auf die Millisekunde genau.
In welches Format sollte ich TTML umwandeln?
Keine Richtung ist kostenlos, denn kein Zielformat nimmt alles auf, was TTML hält. Jede Umwandlungsseite nennt ihre eigene Verlustliste; wählen Sie das Ziel danach, mit welcher Liste Sie leben können.
Was behält eine TTML-Datei außerhalb ihrer Untertitel?
Die XML-Deklaration und den ganzen <head>: eine <styling>-Tabelle mit benannten Stilen, eine <layout>-Tabelle mit benannten Regionen und beliebige <metadata>. Jedes <p> verweist über style="s1" oder region="bottom" auf diese Namen, statt die Werte zu wiederholen — deshalb geht bei einer Umwandlung in ein Format ohne diese Tabellen ein formatspezifischer Teil verloren.