Settings menu for the video.js controlbar

Usage no npm install needed!

<script type="module">
  import videojsSettingsMenu from '';



A plugin to create a settings menu consisting of sub menus for the video.js controlbar

Table of Contents


npm install --save videojs-settings-menu


To create a videojs-settings-menu you simply have to put a menu inside the settingsMenuButton as an entry. The settingsMenuButton is placed as a child inside the controlBar. Don't forget to remove the menus from the controlBar as children, because otherwise the menu will also been shown in the controlbar instead of only in the settings menu. Examples and methods can be found below.

<script> Tag

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.js"></script>
<script src="//path/to/videojs-settings-menu.js"></script>
    var player = videojs('videojs-settings-menu-player', {
        'playbackRates': [0.5, 1, 1.5, 2],
        controlBar: {
            children: {


                'settingsMenuButton': {
                    entries : [


When using with Browserify, install videojs-settings-menu 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.

var player = videojs('my-video', { /* options as above */});


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-settings-menu'], function(videojs) {
  var player = videojs('my-video', { /* options as above */});


MIT. Copyright (c) Fruitsapje <>