WebVTT

OpenenOpslaanPlatte tekstWeb

Het ondertitelformaat van het web: wat een browser toont via HTML's <track>. De blokken van SubRip, met een kop, een punt voor de milliseconden, en plaats voor opmaak, posities en sprekers.

In één oogopslag

Extensie.vtt
Mediatypetext/vtt
SpecificatieW3C, WebVTT: The Web Video Text Tracks Format, een Candidate Recommendation
TijdsprecisieMilliseconden
TekencoderingAltijd UTF-8: de specificatie vereist het. Subtitld leest toch andere coderingen.
OpmaakTags voor cursief, vet en onderstreping; kleuren via klassen en CSS (::cue). Geen doorhaling.
PositioneringCue-instellingen (line, position, align, size, vertical) en regio's
SprekersStemtags: <v Thom>
In containersMatroska als S_TEXT/WEBVTT; MP4 als wvtt (ISO/IEC 14496-30); HLS- en DASH-streams

Anatomie van een cue

Een bestand bestaat uit een kop, gevolgd door cues. Elke cue is een blok zoals bij SubRip, met twee optionele delen.

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

    WEBVTT, alleen of gevolgd door een spatie en een titel, en dan een lege regel. Zonder dit weigert een browser het hele bestand.

  2. 2 · Identificatie

    Optioneel. Een naam voor de cue, op een eigen regel: een nummer, zoals bij SubRip, of een woord.

  3. 3 · Tijd

    Begin, de pijl -->, einde. Een punt voor de milliseconden.

  4. 4 · Instellingen

    Optioneel. Waar de cue wordt getoond, na de eindtijd.

  5. 5 · Tekst

    Regels tekst, met tags voor opmaak en stemmen. Een lege regel beëindigt de cue, dus er staat er geen binnenin.

De tijdcode

De uren mogen worden weggelaten. 00:27.000 is dezelfde tijd, en veel bestanden van minder dan een uur worden zo geschreven. Een komma vóór de milliseconden is de gewoonte van SubRip, niet die van WebVTT; Subtitld leest het toch.

Blokken naast cues

Blok Wat het bevat
NOTE Een opmerking, voor mensen. Spelers slaan het over.
STYLE CSS voor de cues, via ::cue. Vóór de eerste cue.
REGION Een benoemd gebied van het scherm waarin cues kunnen scrollen.

Celtekst

Tag Effect
<i>…</i>, <b>…</b>, <u>…</u> Cursief, vet, onderstreping
<c.yellow>…</c> Een klasse, die CSS (of de eigen kleurklassen van WebVTT) kan kleuren
<v Thom>… De stem: wie spreekt. Sluiten is optioneel.
<lang pt>…</lang> De taal van een stuk tekst
<ruby>漢<rt>kan</rt></ruby> Een lezing boven de tekst, voor Japans en Chinees
<00:00:28.500> Een tijdstempel binnen de cue, voor karaoke
&amp; &lt; &gt; &nbsp; Een ampersand, <, > en een harde spatie, die anders als opmaak zouden worden gelezen

Kleuren

Acht klassen worden zonder enige CSS gekleurd: white, lime, cyan, red, yellow, magenta, blue en black, en dezelfde acht met bg_ voor de achtergrond. Elke andere kleur heeft een eigen klasse nodig en een STYLE-blok:

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

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

Niet elke speler leest STYLE-blokken; de eigen kleurklassen van WebVTT zijn de veiligere keuze. Subtitld gebruikt ze wanneer een kleur een van de acht is.

Cue-instellingen

Instelling Wat het doet
line:0 De regel op het scherm: een getal telt regels vanaf de bovenkant (negatief vanaf de onderkant), een percentage vanaf de bovenrand
position:10% Waar het vak van de cue over het scherm staat
align:start Tekstuitlijning in het vak: start, center, end, left, right
size:50% De breedte van het vak
vertical:rl Verticale tekst, van rechts naar links of van links naar rechts
region:fred Toon de cue in een REGION

Subtitld leest line, position en align als de plaats van de ondertitel op het scherm, dezelfde negen plaatsen als {\an1} tot {\an9} bij SubRip, en schrijft ze zo terug: line:0 voor boven, line:50%,center voor het midden, position:10% align:start en position:90% align:end voor de zijkanten.

WebVTT in Subtitld

Bewaard in de .vtt
  • De tekst en de regeleindes van elke ondertitel
  • Cursief, vet, onderstreping en kleur
  • Waar de ondertitel op het scherm staat
  • Sprekers, als stemtags
  • Begin en eind, tot op de milliseconde, op volgorde
Geen plek voor
  • Doorhaling: WebVTT heeft er geen tag voor
  • Gezichten en kleuren van sprekers
  • Vertalingen naast het origineel (een vertaling kan het origineel vervangen, of eronder staan)
  • Dubs en metadata

U bewaart ze door een .usfx-project op te slaan.

Een WebVTT-bestand openen

Subtitld vindt elke cue via de tijdregel en leest:

  • de kop, en de blokken NOTE, STYLE en REGION als wat ze zijn, niet als ondertitels, en cue-identificaties als namen;
  • tijden met of zonder uren, met een punt of een komma;
  • stemmen als de sprekers van de ondertitels, klaar voor nasynchronisatie;
  • de kleurklassen van WebVTT, en de kleuren die een STYLE-blok andere klassen geeft;
  • line, position en align als de plaats op het scherm;
  • elke codering, hoewel WebVTT om UTF-8 vraagt.

Wat Subtitld er niet voor heeft, laat het weg: regio's, de grootte van een cue, verticale tekst, de lezingen van ruby en karaoke-tijdstempels. De tekst zelf blijft.

WebVTT exporteren

Het exportvenster van Subtitld met VTT gekozen en de sprekers geschreven als stemtags

Exporteren, dan Ondertitels en VTT, biedt:

  • TekstHet origineel, een vertaling, of beide, met de vertaling eronder.
  • Namen van sprekersWeggelaten, voor de tekst (Thom: …), of als stemtags (<v Thom>), de eigen manier van WebVTT.
  • OpmaakBehouden, of verwijderd.
  • Tijden verschuivenElke ondertitel eerder of later met hetzelfde bedrag.

Het bestand is altijd UTF-8, zoals WebVTT vereist: WEBVTT, dan de cues op volgorde van begin, elke tijd met zijn uren. Tekens die als opmaak zouden worden gelezen, worden als entiteiten geschreven, en lege ondertitels worden weggelaten.

Op een webpagina

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

Serveer het bestand als text/vtt. Vanaf een ander domein heeft de video crossorigin nodig en de server een Access-Control-Allow-Origin-header, anders laadt de browser de track niet.

WebVTT of SubRip?

SubRip voor spelers, editors en uploads; WebVTT voor video op het web. De SubRip-pagina zet ze naast elkaar.

Wetenswaardigheden

2010

Het begon als WebSRT, opgesteld bij het WHATWG voor het nieuwe <track>-element van HTML5 en gebaseerd op SubRip, voordat het de naam WebVTT kreeg.

WEBVTT

Zes letters aan het allereerste begin van elk bestand. Een browser die ze niet vindt, weigert de hele track.

8

Kleuren die een speler zonder CSS kent: wit, limoen, cyaan, rood, geel, magenta, blauw en zwart, voor de tekst en voor de achtergrond.

Verwante formaten

Een .vtt om te repareren?

Open het in Subtitld met de video en stel de timing bij op de golfvorm.

Subtitld downloaden