Detaillierter Leitfaden zur WebVTT-Untertitel-Syntax: Ein Entwicklungs- und Debugging-Leitfaden von Zeitstempeln bis zur Gestaltung
Dieser Artikel erläutert die Kernsyntaxregeln von WebVTT und behandelt 8 Kernmodule einschließlich Kommentaren, Zeitstempeln, Inline-Tags, CSS-Stilgebung und Metadaten, um Frontend-Entwickler beim Debuggen von Web-Untertiteln zu unterstützen.
Aktualisiert 2026-08-11
Grundlegende Dateistruktur: Header und Kommentarblöcke
Die erste Zeile einer standardmäßigen WebVTT-Datei muss die WEBVTT-Deklaration sein. Auf die Deklaration kann ein Leerzeichen und ein Dateibeschreibungstext folgen, unterschiedliche Strukturblöcke werden durch Leerzeilen getrennt. Die meisten HTML5-Player können Dateien, die keine WEBVTT-Header enthalten, nicht korrekt parsen.
NOTE-Kommentarblöcke werden verwendet, um Entwicklungsanmerkungen oder Untertitelbeschreibungen hinzuzufügen und unterstützen ein- oder mehrzeilige Inhalte. Sie werden von Playern nicht gerendert oder angezeigt. Während der Entwicklung und beim Debuggen können NOTE-Blöcke verwendet werden, um Untertitelabschnitte zu markieren, die bearbeitet werden müssen, ohne das endgültige Wiedergabeergebnis zu beeinträchtigen.
Regeln für Cue-Zeitstempel
Jeder Untertitel-Cue besteht aus einem Zeitstempel und Anzeigetext. Das Zeitstempelformat unterstützt zwei Arten von Millisekundentrennzeichen: den Punkt und das Komma. Die meisten modernen Browser unterstützen nur die Punkt-Notation.
Das Stundenfeld in Zeitstempeln ist optional. Untertitel mit einer Gesamtdauer von weniger als einer Stunde können das Stundenfeld weglassen, was zum Format MM:SS.sss führt. Das vollständige Format lautet HH:MM:SS.sss. Start- und Endzeit werden durch das Symbol --> getrennt.
| Zeitstempel-Beispiel | Gültigkeitshinweis |
|---|---|
| 00:01.234 --> 00:04.567 | Gültig, Stundenfeld weggelassen, Millisekunden durch Punkt getrennt |
| 00:00:01,234 --> 00:00:04,567 | Inkompatibel, große Browser wie Chrome erkennen Kommas nicht |
| 01:12:34.456 --> 01:12:38.789 | Gültig, vollständiges Format mit Stundenfeld |
Inline-Text-Stil-Tags
WebVTT unterstützt sechs standardmäßige Inline-Tags zur Änderung der Anzeigestilierung von Teiltext. Davon entsprechen b, i und u jeweils fett, kursiv und unterstrichen und folgen den gleichen Regeln wie die entsprechenden HTML-Tags. Entwickler können sie direkt beim manuellen Schreiben verwenden.
Das ruby-Tag wird für Pinyin-Anmerkungen verwendet, das lang-Tag zur Markierung von Text in anderen Sprachen und das voice-Tag zur Kennzeichnung des Sprechers. Diese Tags werden hauptsächlich für die Metadatenklassifizierung verwendet, Player können darauf basierend eine differenzierte Darstellung implementieren.
- <b>Bold text</b>: Wird in Browsern standardmäßig als fett angezeigt
- <i>Italic text</i>: Wird in Browsern standardmäßig als kursiv angezeigt
- <ruby>汉<rt>hàn</rt></ruby>: Pinyin-Anmerkungsformat für chinesische Schriftzeichen
Stilgebung und Regionskonfiguration
Das ::cue-Pseudoelement ist ein dediziertes CSS-Pseudoelement, das für WebVTT-Untertitel bereitgestellt wird. Entwickler können dieses Pseudoelement verwenden, um den Standardstil aller Untertitel auf einer Webseite zu ändern, und es unterstützt gängige CSS-Eigenschaften wie Farbe, Schriftart und Hintergrund.
STYLE-Blöcke werden verwendet, um globale oder cue-spezifische Stile innerhalb der WebVTT-Datei zu definieren. REGION-Blöcke werden verwendet, um Untertitel-Darstellungsbereiche zu definieren und unterstützen die gleichzeitige Anzeige unterschiedlicher Untertitel in mehreren Bereichen, was häufig für die nebeneinanderliegende Anzeige von mehrsprachigen Untertiteln verwendet wird.
HTML5-Integrationsspezifikation
Das HTML5-track-Element wird verwendet, um externe WebVTT-Untertiteldateien zu importieren. Das kind-Attribut des track-Elements definiert den Untertiteltyp, das fünf mögliche Werte hat: subtitles, captions, descriptions, chapters, metadata.
Davon entsprechen subtitles allgemeinen übersetzten Untertiteln, captions entsprechen Untertiteln für Nutzer mit Hörbeeinträchtigungen, die Umgebungsgeräusch-Anmerkungen enthalten, chapters entsprechen Kapitelnavigation, und metadata speichert Seitenmetadaten und wird nicht angezeigt. Unterschiedliche Player handhaben das kind-Attribut mit differenziertem Verhalten.
Häufige Fragen
Was ist der Unterschied zwischen den Untertitelformaten WebVTT und SRT?
WebVTT unterstützt Stilgebung, Metadaten und Regionskonfiguration und kann direkt nativ von HTML5 geparst und verwendet werden. SRT unterstützt nur grundlegende Zeitstempel und Text und wird meist für lokale Videowiedergabeszenarien verwendet.
Unterstützen alle Browser das ::cue-Pseudoelement für WebVTT?
Chrome 29 und neuer, Firefox 35 und neuer sowie Safari 6.1 und neuer unterstützen dieses Merkmal. Alle Versionen von IE unterstützen keine native WebVTT-Verarbeitung.
Können in WebVTT HTML-Tags eingebettet werden?
Benutzerdefinierte HTML-Tags sind nicht erlaubt. Nur die sechs in der Spezifikation definierten Inline-Tags sind zulässig. Nicht definierte Tags werden von Browsern als Klartext ausgegeben und angezeigt.