Zum Hauptinhalt springen
SubtitleMatrix

TTML in TXT umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

5 Sachen entfallen oder brauchen eine Entscheidung

  • Zeitangaben

    die gesamte Zeitachse (das Ausgabeformat zeichnet überhaupt keine Zeitangaben auf)

  • Formatierung

    die gesamte Formatierung (Fett, Kursiv, Farbe, Kontur, Schatten)

  • Positionierung

    die Positionierung auf dem Bildschirm (jeder Block kehrt an die Standardposition zurück)

  • Zeilenumbrüche

    Zeilenumbrüche (mehrzeilige Blöcke werden zu einer Zeile zusammengefügt)

  • Formatspezifischer Inhalt

    Inhalt, den das Quellformat außerhalb seiner Blöcke führt (Nicht-Block-Abschnitte, Kopftext, Einstellungen pro Block, auskommentierte Ereignisse) — das Zielformat hat keinen Platz dafür

Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.

Diese Seite wandelt TTML in TXT um. Ziehen Sie eine Datei hinein oder fügen Sie den Text ein — Sie erhalten die TXT-Fassung zurück. Die Umwandlung läuft vollständig in Ihrem Browser: kein Upload, keine Anmeldung.

Beide Formate speichern nicht dasselbe, und der Unterschied ist nicht kosmetisch: das Timing, die Formatierung, die Positionierung, die Zeilenumbrüche und formatspezifische Inhalte haben in TXT keinen Platz. Die Liste oben stammt daraus, was die beiden Formate jeweils ausdrücken können, nicht aus Ihrer Datei; sie gilt also schon, bevor Sie etwas laden.

Eine Datei ist kein Problem, eine ganze Staffel auch nicht: Die Warteschlange arbeitet sie der Reihe nach ab und liefert alle Ergebnisse in einem einzigen ZIP.

Beispiele

Eine typische TTML-Datei, umgewandelt in TXT

Eingabe

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

Ausgabe

Hello there.
How are you?
Fine, thanks.

In diesem Ergebnis geht verloren: das Timing, die Formatierung, die Positionierung, die Zeilenumbrüche und formatspezifische Inhalte. Alles andere bleibt Zeile für Zeile gleich.

Dieselbe Umwandlung mit einer unordentlichen Eingabe

Eingabe

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

Ausgabe

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

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.

Häufige Fragen

Wohin verschwinden die TTML-Zeitangaben im TXT-Ergebnis?

TXT hat keine Zeitspalte: Der Export ist Text, keine Zeitachse. Die Reihenfolge der Blöcke bleibt, aber nichts im Ergebnis sagt, wann eine Zeile erscheint — begin und end fallen ersatzlos weg.

Was geschieht mit Fett, Kursiv und Farbe beim Umwandeln von TTML nach TXT?

Alles davon geht verloren. Ein <span tts:fontStyle="italic"> oder ein benannter Stil mit tts:color wird zu reinem Text; TXT kennt keine Auszeichnung. Die Wörter bleiben, ihre Betonung nicht.

Was geschieht mit der Bildschirmposition beim Weg von TTML nach TXT?

Sie fällt weg. Eine Region mit tts:origin und tts:extent beschreibt, wo der Text steht; TXT kennt keine Anzeigeposition und keine Regionen. Der Bericht führt die Positionierung als verloren.

Was geschieht mit einem zweizeiligen TTML-Untertitel in TXT?

Beide Zeilen werden untereinander geschrieben, aber die Gruppierung geht verloren: TXT kann Zeilen nicht zu einem Block zusammenfassen. Ein <br/> wird ein Umbruch, der beim Wiedereinlesen zwei Untertitel ergäbe.

Was geschieht mit dem TTML-Prolog und seinen Tabellen <styling> und <layout> in TXT?

Sie werden nicht übertragen. Die XML-Deklaration, die Namensräume, die Stiltabelle mit tts:color und die Regionentabelle mit tts:origin beschreiben ein Dokument; TXT speichert nur Textzeilen. Sie zählen als formatspezifischer Inhalt.

Wie sieht die TXT-Datei aus, die aus TTML entsteht?

Eine reine Textliste, eine Zeile pro Untertitelzeile, ohne Zeitstempel und ohne Blocknummern. Die Reihenfolge folgt der Startzeit der <p>-Elemente, auch wenn TXT sie nicht mehr ausgibt.

Kann ich die TXT-Datei zurück nach TTML umwandeln?

Ja, und TXT nach TTML verliert das Timing — ohne Zeitangaben muss die Rückrichtung Zeiten erfinden. Text und Reihenfolge bleiben dabei erhalten, die ursprünglichen begin- und end-Werte nicht.

Welche Zeichenkodierung bekommt die TXT-Ausgabe aus dem TTML-Dokument?

UTF-8 mit Unix-Zeilenenden und ohne Byte-Order-Mark. Eine TTML-Datei in UTF-16 oder einer Windows-Kodierung wird beim Einlesen erkannt; das Ergebnispanel nennt die Quelle.

Verwandte Werkzeuge