WebVTT
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 |
|---|---|
| Medientyp | text/vtt |
| Spezifikation | W3C, WebVTT: The Web Video Text Tracks Format, eine Candidate Recommendation |
| Zeitgenauigkeit | Millisekunden |
| Zeichenkodierung | UTF-8, immer: die Spezifikation verlangt es. Subtitld liest trotzdem andere Kodierungen. |
| Gestaltung | Tags für Kursiv, Fett und Unterstreichung; Farben über Klassen und CSS (::cue). Keine Durchstreichung. |
| Positionierung | Cue-Einstellungen (line, position, align, size, vertical) und Regionen |
| Sprecher | Voice-Tags: <v Thom> |
| In Containern | Matroska 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 · Kopfbereich
WEBVTT, allein oder gefolgt von einem Leerzeichen und einem Titel, danach eine Leerzeile. Ohne sie lehnt ein Browser die ganze Datei ab. - 2 · Kennung
Optional. Ein Name für den Cue in einer eigenen Zeile: eine Zahl wie bei SubRip oder ein Wort.
- 3 · Zeitangabe
Start, der Pfeil
-->, Ende. Ein Punkt vor den Millisekunden. - 4 · Einstellungen
Optional. Wo der Cue angezeigt wird, nach der Endzeit.
- 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 |
& < > |
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
- 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
- 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,STYLEundREGIONals 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,positionundalignals 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
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
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.
Sechs Buchstaben ganz am Anfang jeder Datei. Ein Browser, der sie nicht findet, lehnt die ganze Spur ab.
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
Öffnen Sie sie in Subtitld mit dem Video und passen Sie die Zeiten an der Wellenform an.