Layer 8Ehrlicher Tech-Support

Untertitel fehlen, laufen versetzt oder zeigen Zeichensalat

Keine Untertitel, falsche Sprache, verschobene Zeiten oder ä statt ä? Drei völlig verschiedene Arten von Untertiteln, drei verschiedene Ursachen.

Aufwand:
ca. 20 Min.
Voraussetzung:
Ein Texteditor mit Auswahl der Kodierung, Ein Abspieler mit Untertitel-Verschiebung
Gilt für:
Externe Untertiteldateien, Untertitelspuren in Videodateien, Untertitel im Browser

Das Symptom

Der Film läuft, die Untertitel nicht. Oder sie laufen, aber eine halbe Sekunde zu früh, was beim Zusehen erstaunlich schnell aggressiv macht. Oder sie stehen da, nur heißt die Hauptfigur jetzt „Müller“ und wohnt in einer „Straße“. Oder sie sind da, in der falschen Sprache, und lassen sich partout nicht abschalten. Vier Beschwerden, die im selben Menü landen — und trotzdem vier verschiedene Ursachen haben.

Die „Layer 8“-Wahrheit

Der ganze Ärger beginnt damit, dass „Untertitel“ drei völlig verschiedene Dinge bezeichnet. Erstens die eingebrannten: Sie sind Teil des Bildes, so wie ein Straßenschild im Hintergrund Teil des Bildes ist. Man kann sie nicht abschalten, nicht übersetzen, nicht vergrößern und nicht verschieben — jede Suche nach der passenden Einstellung ist verlorene Zeit. Zweitens die mitgelieferten: eine eigene Spur in der Videodatei oder im Datenstrom, die der Abspieler ein- und ausschalten kann. Und drittens die externen: eine separate Datei, die nichts über den Film weiß außer den Zeitangaben, die jemand einmal hineingeschrieben hat.

Selbst innerhalb der Spuren gibt es noch eine Trennlinie, die die meisten überrascht. Der W3C-Standard für Internet-Untertitel führt zwei Profile: eines, in dem der zeitgesteuerte Text ausschließlich aus Unicode-Zeichen besteht, und eines, in dem er ausschließlich aus Rasterbildern besteht. Bildbasierte Untertitel sind Fotos von Sätzen. Deshalb kann man sie nicht durchsuchen, nicht in eine andere Schrift setzen und nicht maschinell übersetzen — und deshalb kann ihnen umgekehrt auch keine Zeichenkodierung etwas anhaben.

Denn die Zeichenkodierung ist der Klassiker bei den externen Dateien, und die Ursache ist bemerkenswert banal: Reiner Text trägt nicht in sich, wie er zu lesen ist. Unicode hält dazu fest, dass eine Signatur am Dateianfang der Hinweis darauf ist, dass eine ansonsten unmarkierte Textdatei in UTF-8 vorliegt. Fehlt sie, wird geraten. Rät der Abspieler falsch, wird aus einem Umlaut ein Buchstabenpaar, und zwar zuverlässig bei jedem einzelnen. Im Browser ist das Problem übrigens gelöst, weil dort nicht geraten werden darf: WebVTT schreibt UTF-8 fest vor, samt Auslieferungskennung. Das ist der Grund, warum dieselbe Datei auf der Webseite entweder sauber läuft oder gar nicht — ein Mittelweg ist nicht vorgesehen.

Wo endet hier die Belegbarkeit? Beim verbreitetsten Format überhaupt. Für die schlichten SRT-Dateien, die das halbe Netz benutzt, gibt es keine Spezifikation einer Normungsorganisation, auf die man zeigen könnte — sie sind gewachsene Praxis, und genau deshalb behandelt sie jeder Abspieler ein bisschen anders. Was sich belegen lässt, sind die Regeln der standardisierten Formate und die Physik der Zeichenkodierung. Das reicht aus, um jeden der vier Fälle zu sortieren: abschaltbar oder eingebrannt, Text oder Bild, verschoben oder driftend, geraten oder festgeschrieben.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Erst herausfinden, welche Art von Untertitel du überhaupt vor dir hast

    Der Test dauert fünf Sekunden: Im Abspieler versuchen, die Untertitel abzuschalten. Verschwinden sie, ist es eine eigene Spur oder eine externe Datei — dann ist alles Weitere machbar. Bleiben sie stehen, sind sie ins Bild eingebrannt und gehören zum Video wie die Schauspieler. Dann ist keine Einstellung der Welt zuständig, sondern nur eine andere Fassung des Films.

  2. 2.

    Die Kodierung der externen Datei feststellen

    Untertiteldateien sind reiner Text, und reiner Text sagt nicht, wie er gemeint ist. Unter Linux verrät das mitgelieferte Werkzeug die vermutete Kodierung, bevor du irgendetwas änderst:

    file -i untertitel.srt
    
  3. 3.

    Die Datei sauber nach UTF-8 umwandeln

    Zeigt sich eine westeuropäische Einzelbyte-Kodierung, wird sie einmal verlustfrei umgewandelt statt bei jedem Abspielen neu geraten. Wichtig ist, nicht in dieselbe Datei zu schreiben, sonst ist der Ausgangstext weg, falls die Annahme über die Ausgangskodierung falsch war:

    iconv -f windows-1252 -t utf-8 untertitel.srt -o untertitel-utf8.srt
    
  4. 4.

    Im Texteditor nachbessern, wenn kein Terminal zur Hand ist

    Jeder brauchbare Editor bietet beim Speichern eine Auswahl der Kodierung an. Datei öffnen, prüfen, ob die Umlaute richtig dargestellt werden, und dann ausdrücklich als UTF-8 speichern. Sehen die Umlaute schon im Editor falsch aus, wurde beim Öffnen falsch geraten — dann die Datei erneut öffnen und dabei die Kodierung von Hand vorgeben, statt den kaputten Zustand festzuschreiben.

  5. 5.

    Den Zeitversatz messen, statt ihn zu schätzen

    Eine Stelle am Anfang und eine kurz vor dem Ende ansehen und den Abstand jeweils grob notieren. Ist er gleich groß, reicht die Verschiebefunktion des Abspielers, die praktisch jedes Programm auf einer Tastenkombination liegen hat. Wächst er, ist die Datei für eine andere Fassung gemacht — dann kostet jedes weitere Nachjustieren nur Zeit.

  6. 6.

    Im Browser die strengen Regeln einhalten

    Für eine eigene Webseite gilt nicht die Nachsicht eines lokalen Abspielers: Die Datei muss UTF-8 sein, mit der Kennung text/vtt ausgeliefert werden und mit der Kopfzeile WEBVTT beginnen. Außerdem müssen die Startzeiten der Einblendungen aufsteigend sein — eine später eingefügte Zeile mit einer früheren Startzeit bringt die ganze Spur zu Fall.

  7. 7.

    Bei falscher Sprache die Spur wechseln, nicht die Datei suchen

    Zeigt der Abspieler eine andere Sprache als erwartet, ist meist einfach die zuerst gefundene Spur ausgewählt. Im Untertitelmenü die Liste durchgehen und die richtige wählen. Steht dort nichts Passendes, existiert die Sprache in dieser Datei schlicht nicht — die Beschriftung im Menü stammt aus der Datei selbst und ist nur so verlässlich wie derjenige, der sie eingetragen hat.

Häufige Fragen (FAQ)

?Warum steht plötzlich ä da, wo ein ä stehen sollte?

Weil die Datei in einer Kodierung geschrieben und in einer anderen gelesen wird. Reiner Text trägt seine Kodierung nicht in sich; das Unicode-Konsortium hält im FAQ ausdrücklich fest, dass eine Bytefolge am Anfang nur als Signatur dient — „An initial BOM is only used as a signature — an indication that an otherwise unmarked text file is in UTF-8.“ Fehlt diese Signatur, muss der Abspieler raten. Rät er auf eine westeuropäische Einzelbyte-Kodierung, während die Datei UTF-8 ist, wird aus jedem Umlaut ein Buchstabenpaar. Die Datei ist dabei völlig in Ordnung, nur die Annahme über sie war falsch.

?Warum lassen sich manche Untertitel überhaupt nicht abschalten?

Weil sie gar keine eigene Spur sind, sondern Teil des Bildes: Eingebrannte Untertitel gehören zum Video wie ein Straßenschild im Hintergrund, und es gibt schlicht nichts, was man abschalten könnte. Die zweite Falle liegt eine Ebene daneben — auch eine echte Spur muss nicht aus Buchstaben bestehen. Der W3C-Standard für Internet-Untertitel unterscheidet deshalb zwei Profile: „in the Text Profile, timed text is expressed exclusively using code points defined in The Unicode Standard, whereas, in the Image Profile, timed text is expressed exclusively using bitmap images“. Wo Bilder statt Zeichen geliefert werden, gibt es nichts zu suchen, nichts zu übersetzen und nichts umzustellen — nur an- oder auszuschalten, und bei eingebrannten nicht einmal das.

?Der Versatz ist am Anfang klein und am Ende riesig. Was ist da los?

Das ist der Unterschied zwischen Verschiebung und Drift, und er sagt dir, welche Reparatur überhaupt Sinn hat. Ein gleichbleibender Versatz über den ganzen Film bedeutet nur, dass die Datei für eine Fassung mit anderem Vorspann gemacht wurde; ihn korrigiert die Verschiebefunktion des Abspielers in Sekunden. Wächst der Abstand dagegen stetig, laufen zwei verschiedene Zeitachsen gegeneinander — die Untertiteldatei gehört zu einer anders abgetasteten Fassung des Films. Da hilft kein Verschieben, sondern nur die passende Datei.

?Warum akzeptiert der Browser meine Untertiteldatei gar nicht?

Weil im Browser strengere Regeln gelten als bei einem lokalen Abspieler. Der W3C-Entwurf für WebVTT verlangt beides zugleich: „A WebVTT file must consist of a WebVTT file body encoded as UTF-8 and labeled with the MIME type text/vtt.“ Eine Datei in einer anderen Kodierung, eine falsche Auslieferungskennung oder eine fehlende Kopfzeile genügt, und die Spur bleibt leer. Ein lokaler Abspieler ist da nachsichtig und rät sich durch — was erklärt, warum dieselbe Datei auf dem Rechner läuft und auf der Webseite nicht.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler