<video id="videojs-vjsdownload-player" class="video-js vjs-default-skin" poster="https://vjs.zencdn.net/v/oceans.png" controls>
    <source src="//vjs.zencdn.net/v/oceans.mp4" type='video/mp4'>
    <source src="//vjs.zencdn.net/v/oceans.webm" type='video/webm'>
  </video>

.video-js.vjs-vjsdownload .vjs-button.vjs-vjsdownload{cursor:pointer;display:block;font-family:VideoJs}.video-js.vjs-vjsdownload .vjs-button.vjs-vjsdownload:before{display:block;position:relative;top:4px;content:'\f101';transform:rotate(90deg);font-size:1.5em}.video-js.vjs-vjsdownload .vjs-button.vjs-vjsdownload:after{display:block;content:' ';width:4px;height:5px;background-color:white;position:relative;top:-11px;left:calc(50% - 2px)}
var player = videojs(document.querySelector('.video-js'), {
          plugins: {
            vjsdownload:{
              beforeElement: 'playbackRateMenuButton',
              textControl: 'Download video',
              name: 'downloadButton',
              downloadURL: '//vjs.zencdn.net/v/oceans.mp4' //optional if you need a different download url than the source
            }
          }
        } , function() {
          console.log('Callback video-js initiated');
          this.on('downloadvideo', function(){
          console.log('downloadvideo triggered'); 
        });
      });

External CSS

  1. https://vjs.zencdn.net/7.8.4/video-js.css

External JavaScript

  1. https://unpkg.com/video.js@7.4.1/dist/video.min.js
  2. https://7ds7.github.io/videojs-vjsdownload/dist/videojs-vjsdownload.js