Zum Hauptinhalt springen
SubtitleMatrix

CSV in TTML umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

In diese Richtung geht nichts verloren — jedes Merkmal des Quellformats hat im Zielformat einen Platz.

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.

CSV in TTML umwandeln: Datei ablegen oder Text einfügen, die XML-Fassung herunterladen. Die Konvertierung bleibt im Browser, ohne Upload und ohne Konto.

In dieser Richtung geht nichts verloren: start und end werden zu begin und end, Zeilenumbrüche zu <br/>, der Text bleibt. Die Tabelle oben zeigt für jede Eigenschaft ein ja.

Einzeln oder im Stapel: Die Warteschlange arbeitet die Dateien seriell ab und bündelt sie im ZIP.

Beispiele

Eine typische CSV-Datei, nach TTML konvertiert

Eingabe

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

Ausgabe

<?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">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over, the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p>  </body>
</tt>

Hier geht nichts verloren: Die rechte Seite enthält jede Zeit und jeden Text der linken. Der Vergleich zeigt, wie die Tabelle in p-Elemente zerfällt.

Dieselbe Konvertierung mit widerspenstiger Eingabe

Eingabe

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

Ausgabe

<?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:04.000">Hello there, friend.</p>
<p begin="00:00:05.000" end="00:00:07.000">Second line.</p>
<p begin="00:00:10.000" end="00:00:10.001">End before start.</p>
<p begin="00:00:12.000" end="00:00:14.000">Unquoted comma in text, right here.</p>  </body>
</tt>

Solche Schäden haben echte Dateien – gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie mit dem sauberen Beispiel oben, um zu sehen, was der Parser verzeiht.

Häufige Fragen

Warum ist CSV nach TTML verlustfrei?

Weil TTML alles ausdrücken kann, was CSV enthält: start und end werden zu begin und end, Zeilenumbrüche zu <br/>, der Text bleibt. Die Zeit 00:00:04.126 wird Zeichen für Zeichen übernommen.

Wie sieht die TTML-Ausgabe aus, wenn CSV zu TTML wird?

Jede cue ist ein <p>-Element mit begin und end, eingebettet in <body> und <div>, mit XML-Deklaration. Aus jeder Tabellenzeile wird ein Absatz.

Sind die CSV-Zeiten in TTML exakt?

Ja. Beide Formate schreiben einen Moment als 00:00:04.126, deshalb kommen die Zeitcodes zeichengleich heraus. Gerundet wird nichts.

Was passiert mit einer mehrzeiligen CSV-Zelle in TTML?

Die Zeilen stehen mit <br/> getrennt im selben <p>. Beide gehören weiterhin zu einer cue.

Bleibt die Reihenfolge der CSV-Zeilen in TTML erhalten?

Ja, die p-Elemente folgen den nach start geordneten Zeilen. Der Text jeder Zeile bleibt unverändert.

Kann ich TTML zurück nach CSV wandeln?

Ja, und TTML nach CSV verliert Stil, Position und formatspezifische Inhalte wie Kopf und Namensräume. In dieser Richtung bleibt alles erhalten.

Verwandte Werkzeuge