SBV 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.
Diese Seite konvertiert SBV nach TTML. Datei hineinziehen oder Text einfügen — zurück kommt die TTML-Fassung. Die Konvertierung läuft vollständig im Browser, ohne Upload und ohne Konto.
In dieser Richtung geht nichts verloren. TTML kann alles ausdrücken, was SBV enthält: Zeitachse, Zeilenumbrüche und Text kommen vollständig an, und weil SBV keine Stile und keine Positionierung kennt, fehlt auch nichts. Die Ausgabe ist ein XML-Dokument mit einem `<p>`-Element je Block.
Eine Datei ist kein Problem, eine ganze Staffel auch nicht: Die Warteschlange arbeitet sie der Reihe nach ab, und die Ergebnisse kommen gemeinsam als eine ZIP-Datei.
Beispiele
Eine typische SBV-Datei, nach TTML konvertiert
Eingabe
0:00:01.000,0:00:03.500
The quick brown fox.
0:00:04.000,0:00:06.250
Jumps over the lazy dog.
0:00:07.000,0: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: beide Seiten Zeile für Zeile vergleichen.
Dieselbe Konvertierung mit einer unordentlichen Eingabe
Eingabe
0:00:02.000,0:00:04.000
Carriage-return line endings.
0:00:06.000,0:00:08.000
Indented timecode, no final newline.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:02.000" end="00:00:04.000">Carriage-return line endings.</p>
<p begin="00:00:06.000" end="00:00:08.000">Indented timecode, no final newline.</p> </body>
</tt>
So sehen echte Schäden aus — gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Im Vergleich zum sauberen Beispiel oben wird sichtbar, was der Parser verzeiht.
Häufige Fragen
Wie sieht die Ausgabe aus, wenn SBV zu TTML wird?
Wie TTML: Jeder SBV-Block wird ein `<p>`-Element mit `begin` und `end`, eingebettet in `<body>` und ein `<div>`; über dem Dokument steht die XML-Deklaration. Nummern wie in SRT gibt es nicht.
Bleiben die SBV-Zeiten in der TTML-Datei exakt?
Ja, auf die Millisekunde — feiner geht keines der beiden Formate. SBV schreibt einen Zeitpunkt als `0:00:04.126`, TTML denselben als `00:00:04.126`; nichts wird gerundet oder verschoben, und ein Block, der 2,9 Sekunden sichtbar war, bleibt es.
Wie kommt ein zweizeiliger SBV-Block in TTML an?
Als zwei Zeilen mit einem `<br/>` dazwischen — so schreibt TTML einen harten Zeilenumbruch. Die beiden SBV-Zeilen bleiben ein `<p>`-Element, und ein Player zeigt sie gemeinsam.
Behalten SBV-Blöcke in der TTML-Ausgabe ihre Reihenfolge?
Ja, und sie werden unterwegs nach Startzeit sortiert — der früheste zuerst. War die SBV-Datei ungeordnet, stellt TTML die Reihenfolge wieder her; das ändert die Struktur, nicht den Inhalt.
Lässt sich TTML wieder nach SBV konvertieren?
Ja, und das ist die verlustbehaftete Richtung: Stile und formatspezifische Konstruktionen haben in SBV keinen Platz. In dieser Richtung geht nichts verloren, der Preis entsteht erst auf dem Rückweg.
Behält die TTML-Ausgabe die Zeichenkodierung der SBV-Datei?
Nein — die Ausgabe ist UTF-8 mit Unix-Zeilenenden und ohne Byte-Order-Mark, unabhängig von der SBV-Datei. UTF-16 oder eine Windows-Einzelbyte-Kodierung wird beim Einlesen dekodiert; die Ausgabe ist immer dieselbe UTF-8-TTML-Datei.