WebVTT

ÖffnenSpeichernKlartextWeb

Das Untertitelformat des Webs: was ein Browser über das <track>-Element von HTML zeigt. Die Blöcke von SubRip, mit einem Kopfbereich, einem Punkt vor den Millisekunden und Platz für Gestaltung, Positionen und Sprecher.

Auf einen Blick

Dateiendung.vtt
Medientyptext/vtt
SpezifikationW3C, WebVTT: The Web Video Text Tracks Format, eine Candidate Recommendation
ZeitgenauigkeitMillisekunden
ZeichenkodierungUTF-8, immer: die Spezifikation verlangt es. Subtitld liest trotzdem andere Kodierungen.
GestaltungTags für Kursiv, Fett und Unterstreichung; Farben über Klassen und CSS (::cue). Keine Durchstreichung.
PositionierungCue-Einstellungen (line, position, align, size, vertical) und Regionen
SprecherVoice-Tags: <v Thom>
In ContainernMatroska als S_TEXT/WEBVTT; MP4 als wvtt (ISO/IEC 14496-30); HLS- und DASH-Streams

Aufbau eines Cues

Eine Datei besteht aus einem Kopfbereich und dann Cues. Jeder Cue ist ein Block wie bei SubRip, mit zwei optionalen Teilen.

WEBVTT
 
intro
00:00:23.000 --> 00:00:24.500 line:0
<v Celia>You're a jerk,
<i>Thom</i>.
 
  1. 1 · Kopfbereich

    WEBVTT, allein oder gefolgt von einem Leerzeichen und einem Titel, danach eine Leerzeile. Ohne sie lehnt ein Browser die ganze Datei ab.

  2. 2 · Kennung

    Optional. Ein Name für den Cue in einer eigenen Zeile: eine Zahl wie bei SubRip oder ein Wort.

  3. 3 · Zeitangabe

    Start, der Pfeil -->, Ende. Ein Punkt vor den Millisekunden.

  4. 4 · Einstellungen

    Optional. Wo der Cue angezeigt wird, nach der Endzeit.

  5. 5 · Text

    Textzeilen mit Tags für Gestaltung und Stimmen. Eine Leerzeile beendet den Cue, deshalb gibt es keine darin.

Der Zeitcode

Die Stunden dürfen fehlen. 00:27.000 ist dieselbe Zeit, und viele Dateien unter einer Stunde werden so geschrieben. Ein Komma vor den Millisekunden ist eine Gewohnheit von SubRip, nicht von WebVTT; Subtitld liest es trotzdem.

Andere Blöcke als Cues

Block Inhalt
NOTE Ein Kommentar für Menschen. Player überspringen ihn.
STYLE CSS für die Cues über ::cue. Vor dem ersten Cue.
REGION Ein benannter Bereich des Bildschirms, in dem Cues laufen können.

Cue-Text

Tag Wirkung
<i>…</i>, <b>…</b>, <u>…</u> Kursiv, fett, unterstrichen
<c.yellow>…</c> Eine Klasse, die CSS (oder die eigenen Farbklassen von WebVTT) einfärben kann
<v Thom>… Die Stimme: wer spricht. Das Schließen ist optional.
<lang pt>…</lang> Die Sprache eines Textabschnitts
<ruby>漢<rt>kan</rt></ruby> Eine Lesung über dem Text, für Japanisch und Chinesisch
<00:00:28.500> Ein Zeitstempel im Cue, für Karaoke
&amp; &lt; &gt; &nbsp; Ein Kaufmanns-Und, <, > und ein geschütztes Leerzeichen, die sonst als Markup gelesen würden

Farben

Acht Klassen sind ganz ohne CSS farbig: white, lime, cyan, red, yellow, magenta, blue und black, dazu dieselben acht mit bg_ für den Hintergrund. Jede andere Farbe braucht eine eigene Klasse und einen STYLE-Block:

STYLE
::cue(.gold) { color: #ffd700; }

00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>

Nicht jeder Player liest STYLE-Blöcke; die eigenen Farbklassen von WebVTT sind die sicherere Wahl. Subtitld verwendet sie immer, wenn eine Farbe zu den acht gehört.

Cue-Einstellungen

Einstellung Wirkung
line:0 Die Zeile auf dem Bildschirm: eine Zahl zählt Zeilen von oben (negativ von unten), ein Prozentwert vom oberen Rand
position:10% Wo der Kasten des Cues horizontal auf dem Bildschirm sitzt
align:start Textausrichtung im Kasten: start, center, end, left, right
size:50% Die Breite des Kastens
vertical:rl Vertikaler Text, von rechts nach links oder von links nach rechts
region:fred Den Cue in einer REGION anzeigen

Subtitld liest line, position und align als Platz des Untertitels auf dem Bildschirm, dieselben neun Plätze wie {\an1} bis {\an9} bei SubRip, und schreibt sie zurück: line:0 für oben, line:50%,center für die Mitte, position:10% align:start und position:90% align:end für die Seiten.

WebVTT in Subtitld

Im .vtt erhalten
  • Der Text jedes Untertitels und die Zeilenumbrüche
  • Kursiv, fett, unterstrichen und Farbe
  • Wo er auf dem Bildschirm steht
  • Sprecher als Voice-Tags
  • Start und Ende, auf die Millisekunde genau, in Reihenfolge
Keine Entsprechung
  • Durchstreichung: WebVTT hat dafür kein Tag
  • Gesichter und Farben der Sprecher
  • Übersetzungen neben dem Original (eine kann es ersetzen oder darunter stehen)
  • Synchronisationen und Metadaten

Speichern Sie ein .usfx-Projekt, um sie zu behalten.

Eine WebVTT-Datei öffnen

Subtitld findet jeden Cue anhand seiner Zeitzeile und liest:

  • die Kopfzeile sowie die Blöcke NOTE, STYLE und REGION als das, was sie sind, nicht als Untertitel, und Cue-Kennungen als Namen;
  • Zeiten mit oder ohne Stunden, mit Punkt oder Komma;
  • Stimmen als Sprecher der Untertitel, bereit für die Synchronisation;
  • die Farbklassen von WebVTT und die Farben, die ein STYLE-Block anderen Klassen gibt;
  • line, position und align als Platz auf dem Bildschirm;
  • beliebige Kodierung, obwohl WebVTT UTF-8 verlangt.

Es lässt weg, wofür es keinen Platz hat: Regionen, die Größe eines Cues, vertikalen Text, Lesungen von Ruby und Karaoke-Zeitstempel. Der Text selbst bleibt.

WebVTT exportieren

Exportdialog von Subtitld mit gewähltem VTT und Sprechern als Voice-Tags

Export, dann Untertitel und VTT bietet:

  • TextDas Original, eine Übersetzung oder beides, die Übersetzung darunter.
  • SprechernamenWeggelassen, vor dem Text (Thom: …) oder als Voice-Tags (<v Thom>), die eigene Schreibweise von WebVTT.
  • FormatierungBeibehalten oder entfernt.
  • Zeiten verschiebenJeder Untertitel um denselben Betrag früher oder später.

Die Datei ist immer UTF-8, wie WebVTT es verlangt: WEBVTT, dann die Cues in der Reihenfolge ihres Starts, jede Zeit mit ihren Stunden. Zeichen, die als Markup gelesen würden, werden als Entitäten geschrieben, und leere Untertitel fallen weg.

Auf einer Webseite

<video controls src="tears-of-steel.mp4">
  <track kind="subtitles" src="tears-of-steel.en.vtt"
         srclang="en" label="English" default>
</video>

Liefern Sie die Datei als text/vtt aus. Von einer anderen Domain braucht das Video crossorigin und der Server einen Header Access-Control-Allow-Origin, sonst lädt der Browser die Spur nicht.

WebVTT oder SubRip?

SubRip für Player, Editoren und Uploads; WebVTT für Videos im Web. Die Seite zu SubRip stellt beide nebeneinander.

Wissenswertes

2010

Es begann als WebSRT, entworfen bei der WHATWG für das neue <track>-Element von HTML5 und auf SubRip aufgebaut, bevor es den Namen WebVTT annahm.

WEBVTT

Sechs Buchstaben ganz am Anfang jeder Datei. Ein Browser, der sie nicht findet, lehnt die ganze Spur ab.

8

Farben, die ein Player ohne CSS kennt: white, lime, cyan, red, yellow, magenta, blue und black, für Text und für den Hintergrund.

Verwandte Formate

Eine .vtt-Datei zu korrigieren?

Öffnen Sie sie in Subtitld mit dem Video und passen Sie die Zeiten an der Wellenform an.

Subtitld herunterladen