Transcription Plugin

Adding transcription to a video can greatly enhance its accessibility and reach. It is especially important for people who may be deaf or hard of hearing, as well as those who prefer to read the content.The "Interactive Transcript" plugin synchronizes the transcription with the video playback, highlighting the current text being spoken. Additionally, the user may search for the transcription's specific phrase, click on the transcription section, and jump to a specific video time. Transcribed text is taken from text track(s) cues and can be in multiple languages. The transcription is independent of the displayed subtitles.

The transcription plugin does not work properly with HLS or DASH in-band VTT captions when captions come only from the current fragment and only one language is exposed to the player. For the same reason, the transcription plugin will not work for live streams.

The basic usage of a transcription plugin is quite simple.
Code snippet
<link href="/videojs/skins/nuevo/videojs.min.css" rel="stylesheet">
<script src="/videojs/video.js"></script>
<script src="/videojs/nuevo.min.js"></script>
var player = videojs("my_player");
There are a few plugins' options available to set.
  • linelength (default: 160))determines the maximum characters length for one transcription section.
  • timegap (default: 10)determines maximum time between following cues that can be merged in a single transcription section.
  • theme (default: "dark")other available theme is "light".
  • Option usage example:
    Code snippet
    player.transcription({ theme:"light" })
    When using a language other than English, you can translate texts used in the transcription plugin and add it to your language .js file as follows:
    "Transcript": "Transcript",
    "Close Transcript": "Close transcript",
    "Search transcript": "Search transcript",
    "Settings": "Settings",
    "Close settings", "Close settings",
    "Language": "Language",
    "Timestamps: "Timestamps",
    "Theme": "Theme",
    "on": "on",
    "off": "off",
    "Dark": "Dark",