Untertitelformate: Die Unterschiede zwischen SRT, VTT und ASS
7 Min. Lesezeit
Untertiteldateien sind einfache Textdateien, doch die Unterschiede zwischen ihnen bestimmen, wo und wie Ihr Video dargestellt wird. In diesem Beitrag erklären wir den Aufbau der drei gängigen Formate, den Ursprung des Zeichenkodierungsproblems und die technischen Gründe für Synchronversatz.
SRT: das verbreitetste und einfachste Format
Das Format SubRip Text hat seinen Namen von einem Programm zum Auslesen von DVD-Untertiteln, und sein Aufbau ist so einfach wie nur möglich:
1
00:00:01,500 --> 00:00:04,200
Hallo, dies ist die erste Untertitelzeile.
2
00:00:04,500 --> 00:00:07,800
Dies ist die zweite Zeile und
sie ist auf zwei Zeilen aufgeteilt.
Jeder Block besteht aus vier Teilen:
- Laufende Nummer (beginnt bei 1)
- Zeitbereich (Start
-->Ende) - Text (eine oder mehrere Zeilen)
- Leerzeile (trennt die Blöcke)
Das Zeitformat lautet Stunde:Minute:Sekunde,Millisekunde, und das Trennzeichen für Millisekunden ist ein Komma. Dieses Detail ist einer der Schlüsselpunkte für die Abgrenzung zu VTT.
Die Grenzen von SRT:
- Keine Stilinformationen. Schriftart, Größe, Farbe, Position – nichts davon ist in der Datei definiert. Der Player oder das Einbrennwerkzeug legt diese Werte von außen fest.
- Keine Positionierung. Jeder Untertitel erscheint an derselben Stelle (in der Regel unten mittig).
- Eingeschränkte Formatierung. Manche Player unterstützen die HTML-Tags
<i>(kursiv),<b>(fett) und<u>(unterstrichen), doch das ist keine standardisierte Eigenschaft; nicht jeder Player wertet sie aus.
Dafür verfügt SRT über universelle Unterstützung: Nahezu jeder Player, jeder Fernseher und jeder Untertiteleditor liest SRT. Weil es so einfach ist, lässt es sich in einem Texteditor von Hand bearbeiten.
VTT: SRT, für das Web entworfen
WebVTT (Web Video Text Tracks) wurde für HTML5-Video entwickelt. Es ähnelt SRT stark, weist aber drei Unterschiede auf:
WEBVTT
1
00:00:01.500 --> 00:00:04.200
Hallo, dies ist die erste Untertitelzeile.
2
00:00:04.500 --> 00:00:07.800 position:50% line:80%
Diese Zeile ist besonders positioniert.
Unterschied 1: Die Kopfzeile WEBVTT. Die Datei muss zwingend mit dieser Zeile beginnen.
Unterschied 2: Der Punkt als Trennzeichen. In Zeitstempeln ist das Trennzeichen für Millisekunden kein Komma, sondern ein Punkt. Der einfachste Weg, eine SRT-Datei in VTT umzuwandeln, besteht darin, am Anfang die Zeile WEBVTT einzufügen und die Kommas durch Punkte zu ersetzen.
Unterschied 3: Positionierungs- und Stilhinweise. Am Ende der Zeitzeile lassen sich Werte wie position, line, align oder size ergänzen. Außerdem ist eine Gestaltung per CSS möglich.
Die eigentliche Bedeutung von VTT: Das HTML5-Element <video> akzeptiert ausschließlich VTT.
<video controls>
<source src="video.mp4" type="video/mp4">
<track src="untertitel-de.vtt" kind="subtitles" srclang="de" label="Deutsch" default>
<track src="untertitel-en.vtt" kind="subtitles" srclang="en" label="English">
</video>
Dieser Aufbau hat einen wichtigen Vorteil: Der Untertiteltext ist für Suchmaschinen lesbar. Ein eingebrannter Untertitel ist Teil des Bildes, und Maschinen können ihn nicht lesen; eine separate VTT-Datei hingegen ist als Text zugänglich.
Das Attribut kind unterscheidet die verschiedenen Spurarten: subtitles (Übersetzung), captions (für Hörgeschädigte, enthält auch Geräuscheffekte), descriptions (Audiodeskription für Sehbehinderte), chapters (Kapitelmarken).
ASS/SSA: die Gestaltungsmacht
Advanced SubStation Alpha ist ein deutlich komplexeres Format und trägt die Stilinformationen in sich selbst:
[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, OutlineColour, ...
Style: Standard,Arial,48,&H00FFFFFF,&H00000000,...
Style: Schild,Arial,36,&H0000FFFF,&H00000000,...
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Text
Dialogue: 0,0:00:01.50,0:00:04.20,Standard,,0,0,0,,Hallo.
Dialogue: 0,0:00:05.00,0:00:07.00,Schild,,0,0,0,,{\pos(800,200)}GESCHLOSSEN
Die Fähigkeiten von ASS:
- Benannte Stile. Für verschiedene Sprecher und verschiedene Textarten lassen sich eigene Stile definieren.
- Freie Positionierung. Mit
\pos(x,y)kann der Untertitel an jeder beliebigen Stelle des Bildes platziert werden. - Farb- und Konturkontrolle. Jeder Stil bringt seine eigene Farbpalette mit.
- Animation. Verschieben, Ein- und Ausblenden, Drehen, Skalieren.
- Karaoke-Effekt. Das schrittweise Hervorheben von Silben in Liedtexten.
- Ebenen. Sich überlagernde Untertitel.
Wann wird es benötigt? Immer dann, wenn Position, Farbe oder Bewegung des Untertitels sich je nach Inhalt ändern müssen: die Übersetzung eines im Bild sichtbaren Schildes neben dieses Schild setzen, verschiedene Sprecher farblich unterscheiden, Liedtexte hervorheben.
Der Preis: Die Unterstützung ist nicht so breit wie bei SRT. Manche Player ignorieren die Stile und zeigen nur reinen Text; manche öffnen die Datei gar nicht.
Zeichenkodierung: der Fluch der Sonderzeichen
Dies ist das häufigste Problem bei Untertiteln, und seine Ursache liegt in der Natur der Formate.
Untertiteldateien sind reiner Text, und Textdateien geben nicht von sich aus an, in welcher Kodierung sie gespeichert wurden. Ein Programm muss beim Öffnen der Datei eine Annahme treffen.
Historisch wurden Texte in folgenden Kodierungen gespeichert:
| Kodierung | Zeitraum | Status | |---|---|---| | ISO-8859-9 (Latin-5) | 1990er–2000er | Veraltet | | Windows-1254 | Windows-Systeme | Veraltet | | UTF-8 | seit den 2000er-Jahren | Moderner Standard |
Lesen Sie eine Windows-1254-Datei unter der Annahme von UTF-8, werden sprachspezifische Sonderzeichen beschädigt:
| Korrekt | Beschädigte Darstellung | |---|---| | ş | þ oder ÅŸ | | ğ | ð oder ÄŸ | | ı | ý oder ı | | İ | Ý oder İ | | ç | ç | | ü | ü |
Lösung: Öffnen Sie die Datei in einem Texteditor und speichern Sie sie erneut als UTF-8. Im Editor von Windows findet sich unten im Fenster "Speichern unter" eine Kodierungsauswahl; in VS Code wird die aktuelle Kodierung unten rechts angezeigt und lässt sich per Klick ändern.
Die BOM-Frage: UTF-8-Dateien können optional am Anfang eine "Bytereihenfolge-Markierung" (BOM) tragen. Manche Werkzeuge lesen bei Dateien mit BOM die erste Zeile falsch. Falls Sie Probleme haben, versuchen Sie UTF-8 ohne BOM.
Bildrate und Synchronversatz
Die Untertitelsynchronisation kann auf zwei verschiedene Arten kippen, und jede hat ihre eigene Lösung.
Konstanter Versatz
Der Untertitel kommt durchgehend um denselben Betrag zu früh oder zu spät.
Ursache: Ihr Video enthält am Anfang einen Abschnitt, den die Untertiteldatei nicht kennt (Verleihlogo, Warnhinweis) – oder umgekehrt.
Lösung: Addieren oder subtrahieren Sie denselben Wert bei allen Zeitstempeln. Untertiteleditoren erledigen das in einem einzigen Arbeitsschritt.
Zunehmender Versatz
Am Anfang stimmt die Synchronisation, gegen Ende läuft sie auseinander.
Ursache: Eine Diskrepanz der Bildrate. Vom selben Inhalt existieren Fassungen in unterschiedlichen Bildraten:
| Standard | Bildrate | Verwendung | |---|---|---| | Kino | 24 fps | Filmaufnahme | | PAL | 25 fps | Europäisches Fernsehen | | NTSC | 23,976 fps | Amerika, digitale Distribution | | NTSC-Video | 29,97 fps | Amerikanisches Fernsehen |
Wird ein für 25 fps erstellter Untertitel zu einem Video mit 23,976 fps abgespielt, sammelt sich pro Sekunde ein Fehler von etwa 4 % an. Bei einem zweistündigen Film bedeutet das gegen Ende einen Versatz von über fünf Minuten.
Lösung: Proportionale Korrektur. Alle Zeitstempel werden mit dem Verhältnis (Ziel-fps / Quell-fps) multipliziert. Untertiteleditoren bieten dafür eine Option zur "Bildratenumrechnung".
Einige ältere Formate (etwa MicroDVD) speichern die Zeit direkt als Bildnummer statt in Sekunden. Bei diesen Formaten ist es ohne die Angabe der Bildrate unmöglich, die Zeit zu berechnen.
Einbetten und Einbrennen: was sich in der Datei ändert
Einbetten (Soft Subtitle): Der Untertitel wird dem Videocontainer als eigene Spur hinzugefügt. MKV unterstützt das hervorragend; bei MP4 ist die Unterstützung eingeschränkter (meist nur bestimmte Formate). Die Videodaten werden überhaupt nicht angefasst, es kann also kopiert werden und die Qualität bleibt erhalten.
Einbrennen (Hardsub): Der Untertitel wird auf jedes Videobild gezeichnet und wird zu Pixeln. Das erfordert eine Neukodierung des Videos – und damit einen gewissen Qualitätsverlust.
Beim Einbrennen geht der Untertiteltext dauerhaft verloren; zurück bleibt nur das Bild. Deshalb gilt:
- Es lässt sich nicht rückgängig machen.
- Suchmaschinen können es nicht lesen.
- Screenreader haben keinen Zugriff darauf.
- Es lässt sich nicht abschalten.
Dafür treten keinerlei Kompatibilitätsprobleme auf – der Untertitel ist nun Teil des Bildes.
Zusammengefasst
SRT ist das einfachste und am breitesten unterstützte Format, trägt aber keine Stil- und Positionsinformationen; VTT wurde für das Web entworfen, ist das einzige vom HTML5-Video-Element akzeptierte Format, und seine Lesbarkeit für Suchmaschinen bringt einen zusätzlichen Vorteil; ASS wiederum bietet Stil-, Positions- und Animationsmacht, ist dafür aber schmaler unterstützt. Das häufigste Problem bei Untertiteln ist die Zeichenkodierung, und die Lösung besteht darin, die Datei erneut als UTF-8 zu speichern. Bei Synchronversatz wird ein konstanter Versatz durch eine einfache Zeitverschiebung behoben, ein zunehmender Versatz hingegen durch eine an der Bildrate orientierte proportionale Korrektur. Und die Wahl zwischen Einbetten und Einbrennen ist eine unumkehrbare Entscheidung: Einbrennen funktioniert überall, doch der Untertiteltext geht dauerhaft verloren.
Häufig gestellte Fragen
SRT und VTT sehen fast identisch aus – worin besteht der wirkliche Unterschied?
Strukturell sind sie sich sehr ähnlich, doch es gibt drei Unterschiede: Eine VTT-Datei beginnt mit der Zeile WEBVTT, verwendet in Zeitstempeln einen Punkt statt eines Kommas (00:00:01.500) und unterstützt Positionierungs-, Ausrichtungs- und Stilhinweise. Am wichtigsten ist: Das HTML5-Video-Element akzeptiert ausschließlich VTT – eine SRT-Datei können Sie auf einer Webseite nicht direkt verwenden.
Warum verursacht die Zeichenkodierung so viele Probleme?
Weil Untertiteldateien reiner Text sind und Textdateien nicht von sich aus angeben, in welcher Kodierung sie gespeichert wurden. Ein Programm muss beim Öffnen der Datei eine Annahme treffen. Türkische Untertitel wurden früher in der Kodierung Windows-1254 gespeichert; liest ein modernes Werkzeug, das UTF-8 annimmt, diese Datei, verwandeln sich Buchstaben wie ş, ğ und ı in sinnlose Zeichen.
Warum wirkt sich die Bildrate auf die Untertitelsynchronisation aus?
Einige ältere Untertitelformate speichern die Zeit als Bildnummer statt in Sekunden. Zudem kann dasselbe Filmmaterial in unterschiedlichen Bildraten vorliegen – Kino 24 fps, PAL-Fernsehen 25 fps, NTSC 23,976 fps. Wird ein für 25 fps erstellter Untertitel zu einem Video mit 23,976 fps abgespielt, sammelt sich mit jeder Sekunde ein kleiner Fehler an, und nach zwei Stunden kann der Versatz mehrere Minuten betragen.
Wann wird das ASS-Format benötigt?
Immer dann, wenn Position, Farbe, Schriftart oder Bewegung des Untertitels sich je nach Inhalt ändern müssen. Etwa um die Übersetzung eines im Bild sichtbaren Schildes direkt neben dieses Schild zu setzen, verschiedene Sprecher farblich zu unterscheiden oder Liedtexte im Karaoke-Stil hervorzuheben. SRT kann nichts davon; jede Zeile erscheint im selben Stil an derselben Stelle.
Probieren Sie es gleich mit Videoya Altyazı Ekle aus.
Videoya Altyazı Ekle ausprobieren