macOS User Guide (see Windows)

6.9 WebVTT

Added in InqScribe 2.2.3.

InqScribe can export WebVTT files. WebVTT is a recent standard designed to support subtitling and captioning of web media. YouTube and Vimeo both allow you to upload WebVTT files to provide captions for video.

You can find general guidance for exporting data elsewhere.

6.9.1 Exporting WebVTT

WebVTT files look like this. The format is very similar to SubRip. Caption text may be more than one line long (line breaks are preserved). A blank line is used to signal the end of the caption.

WEBVTT

1
00:00:00.000 --> 00:00:15.365
Start of video.

2
00:00:15.366 --> 00:00:17.432
Puts down toy.

3
00:00:17.433 --> 00:00:25.632
Picks up toy again.
Calls out.

The timecode format is essentially 1000fps. Exported WebVTT files always use UTF-8 encoding with a byte-order mark.

InqScribe exports (much like SubRip) a unique cue ID (1, 2, 3...) for each subtitle. (WebVTT refers to each subtitle as a "cue".) You can use these cue IDs to define CSS styling on a per-cue basis.

6.9.2 Using WebVTT Files

WebVTT files may be referenced within a <video> tag on a HTML page. You can add subtitles to a video by including a <track> tag like so:

<video width="640" height="480" controls>
  <source src="my-video.mp4" type="video/mp4" />
  <track src="my-subtitles.vtt" kind="subtitles"
    srclang="en" label="English" />
</video>

This page provides a nice overview of WebVTT and how to integrate WebVTT files with the web.

Both YouTube and Vimeo support uploading WebVTT files to provide captions for video.

6.9.3 Limitations

The WebVTT format supports a number of formatting tricks, including using CSS to define subtitle styling, per-subtitle positioning, karaoke-style captions, and more. InqScribe supports some, but not all, of these enhancements to a basic WebVTT file.

Note that you can always open an exported WebVTT file in a text editor and add additional styling or positioning manually.

What You Can Do

You can add inline styles to runs of text. InqScribe will export these bracketed formatting instructions just fine. For example:

00:00:00.000 --> 00:00:15.365
<b>Make this bold</b>
<i>Make this italic</i>
<c.myclass>Apply CSS class "myclass"</c>
<v Sue>Identify who is speaking</v>

What You Can't Do

WebVTT supports karaoke-style effects, where pieces of a subtitle appear at specific times. For example, this subtitle would first show "Hi", then "Hi there", and finally "Hi there, Sue."

00:00:00.000 --> 00:00:10.000
Hi <00:00:05.000> there <00:00:08.000>, Sue.

InqScribe does not distinguish between timecodes that should be used as the IN/OUT points of a subtitle and timecodes that should be used within a subtitle. If you need to use karaoke timing you will have to manually edit the exported file.

WebVTT also supports per-subtitle positioning by providing extra formatting information on the same line as the IN and OUT times. For example:

00:00:00.000 --> 00:00:10.000 align:start size:50%
This caption has a custom size and text alignment.

InqScribe does not currently have a way to determine what text should be part of the caption and what text should be used for per-subtitle positioning. If you want to fine-tune your subtitles, please edit the exported file.

macOS User Guide (see Windows)