Was ist WebVTT?

WebVTT ist ein W3C-Textformat für zeitlich zugeordnete Cues zu Audio oder Video im Web. Eine .vtt-Datei kann klassische und barrierefreie Untertitel, Kapitelbezeichnungen, Beschreibungen, Positionierungsangaben und eingeschränkte Cue-Formatierungen enthalten.

So funktioniert WebVTT

Eine WebVTT-Datei besteht aus Text in UTF-8, ist mit dem Medientyp text/vtt gekennzeichnet und beginnt mit der Zeichenfolge WEBVTT. Darauf folgen optionale Regions- und Stilblöcke und anschließend Cue-Blöcke. Jeder Cue hat eine Zeitzeile und einen Nutzinhalt, der als barrierefreier oder klassischer Untertiteltext dargestellt oder als Kapiteltitel oder Metadaten interpretiert wird, je nachdem, wie die verarbeitende Software die Spur nutzt. Cue-Einstellungen in der Zeitzeile steuern Schreibrichtung, Zeile und Position, Größe, Ausrichtung und Region. Cue-Text erlaubt nur eine kleine Auswahl an Tags. CSS greift über das Pseudoelement ::cue auf Cues zu, wobei nur eine festgelegte Liste von Eigenschaften berücksichtigt wird. Zeitstempel beziehen sich auf die Zeitleiste der Medien, die die Datei begleitet. Eine Datei, deren Zeitangaben auf eine bestimmte Schnittfassung abgestimmt sind, muss daher neu zeitlich abgestimmt werden, wenn diese Medien zeitlich zugeschnitten, beschleunigt oder ersetzt werden.

Wichtige Fakten

  1. Die Zeitzeile eines Cues besteht aus einem Startzeitstempel, der Zeichenfolge --> und einem Endzeitstempel. Jeder Zeitstempel wird als mm:ss.ttt oder hh:mm:ss.ttt mit einem Punkt vor genau drei Millisekundenziffern geschrieben. Wenn der Parser diese Zeile nicht lesen kann, verwirft er den Cue und fährt mit dem nächsten Block fort. Eine fehlerhafte Zeitzeile entfernt somit einen Cue, ohne die Verarbeitung der restlichen Datei zu stoppen.
  2. Ein HTML-Element vom Typ track gibt die Adresse der Datei in src, ihre Rolle in kind und ihre Sprache in srclang an; fehlt kind, wird standardmäßig die Rolle für Untertitel verwendet, und srclang ist für Untertitel erforderlich. Eine Datei mit einem anderen Ursprung als die Seite wird nur geladen, wenn das übergeordnete Medienelement ein Attribut namens crossorigin hat und die Antwort die CORS-Prüfung besteht. Ohne dieses Attribut beschränkt der Browser die Anfrage auf den Ursprung der Seite, und die Spur wird nicht geladen.
  3. WebVTT basiert auf dem SRT-Format von SubRip, doch eine SRT-Datei ist keine gültige WebVTT-Datei. Ihr fehlt die Signatur WEBVTT, ohne die ein WebVTT-Parser abbricht. Außerdem stehen Millisekunden in SRT-Zeitzeilen üblicherweise nach einem Komma, während WebVTT einen Punkt verlangt. Bei der Konvertierung von WebVTT zu SRT geht mehr verloren: Der grundlegende SRT-Cue aus Sequenznummer, Zeitzeile und Text hat keinen definierten Platz für Cue-Einstellungen, Regionen oder Blöcke vom Typ STYLE.
  4. HTTP Live Streaming überträgt Untertitel als WebVTT-Segmente. Laut RFC 8216 sollte jedes Segment einen Header namens X-TIMESTAMP-MAP enthalten, der Cue-Zeiten den Zeitstempeln nach MPEG-2 in den anderen Varianten zuordnet. Fehlt der Header, müssen Clients annehmen, dass die Cue-Zeit 0 dem Zeitstempel nach MPEG-2 mit dem Wert 0 entspricht. Das ist nur korrekt, wenn auch die Audio- und Videozeitstempel dort beginnen.

Wann WebVTT wichtig ist

Ein HTML-Videoplayer kann WebVTT-Spuren für Untertitel, Kapitel oder zeitlich zugeordnete Metadaten laden. Ein Cue, dessen Zeitzeile nicht geparst werden kann, wird verworfen, und CSS-Eigenschaften außerhalb der erlaubten Auswahl werden ignoriert. Eine Datei kann daher geladen werden, obwohl manche Cues fehlen oder unformatiert bleiben.

So hilft Transloadit bei WebVTT

Der Robot mit dem Pfad /speech/transcribe von Transloadit gibt ein Transkript als WebVTT-Untertiteldatei zurück, wenn sein Parameter format den Wert webvtt hat. Der Robot mit dem Pfad /video/subtitle akzeptiert SRT- und VTT-Untertiteldateien und fügt sie einem Video entweder als separaten Stream hinzu oder brennt sie in das Bild ein.

Das Aktivieren von speaker_labels fügt nur den Ausgaben in json und meta Sprecherkennzeichnungen hinzu; laut Robot-Dokumentation bleibt die WebVTT-Ausgabe unverändert.

Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung

Quellen

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren