Video.js plugin that displays thumbnails on progress bar hover, driven by external VTT files. Based on this JW Player spec. Note, this plugin currently only supports sprited thumbnails.
Note: Plugin hides the default skin's mouse display timestamp on hover.
You can see an example of the plugin in action here: https://codesandbox.io/s/videojs-vtt-thumbnails-forked-vhphsi?file=/package.json
Add this to your package.json under dependencies:
"videojs-vtt-thumbnails": "https://github.com/mayeaux/videojs-vtt-thumbnails"
Then run $ npm i
and it will install.
To include videojs-vtt-thumbnails on your website or web application, use any of the following methods.
This is the simplest case. Get the script in whatever way you prefer and include the plugin after you include video.js, so that the videojs
global is available.
<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-vtt-thumbnails.min.js"></script>
<script>
var player = videojs('my-video');
player.vttThumbnails({
src: 'example/thumbs.vtt'
});
</script>
When using with Browserify, install videojs-vtt-thumbnails via npm and require
the plugin as you would any other module.
var videojs = require('video.js');
// The actual plugin function is exported by this module, but it is also
// attached to the `Player.prototype`; so, there is no need to assign it
// to a variable.
require('videojs-vtt-thumbnails');
var player = videojs('my-video');
player.vttThumbnails();
When using with RequireJS (or another AMD library), get the script in whatever way you prefer and require
the plugin as you normally would:
require(['video.js', 'videojs-vtt-thumbnails'], function(videojs) {
var player = videojs('my-video');
player.vttThumbnails();
});
Options are passed in the same object as the source location.
var player = videojs('my-video');
player.vttThumbnails({
src: 'example/thumbs.vtt',
showTimestamp: true
});
showTimestamp
(Boolean, Default: false) - Disables the timestamp that is shown on hover.
MIT. Copyright (c) Chris Boustead <chris@forgemotion.com>