Events fired by the plugin are: loaded, buffering, first play, pause, resume, mute, seeking, rate, time progress (10%, 25%, 50%, 75%, 90%), Fullscreen change, ended, rewind, forward, resolution change. Each event data includes video id and title, if defined.
Using the plugin is simple:
<script src="//www.domain.com/videojs/video.min.js"></script><script src="//www.domain.com/videojs/nuevo.min.js"></script><script src="//www.domain.com/videojs/plugins/videojs.events.js"></script>
var player = videojs("myPlayer");player.nuevo({title:"video title", id:"video id"});player.events();
player.events({ analytics:true })
<video class="video-js vjs-fluid" title="This is video title" video_id="This is video Id" controls preload playsinline poster="//path-to-poster.jpg">
player.nuevo({ title:"This is video title", video_id:"This is video Id" });
player.on('track', (e, data) => {if (data.event === 'ended') {var video_id = data.playerId;var video_title = data.playerTitle;var duration = data.duration;// do something ...}});
player.on('track', (e, data) => {switch(data.event) {
case 'loaded':var video_id = data.playerId;var video_title = data.playerTitle;var loadTime = data.initialLoadTime; //always 0 for live videobreak;
case 'firstPlay':break;
case 'pause':var pauseCount = data.pauseCount;break;
case 'resume':var resumeCount = data.resumeCount;break;
case 'buffered':var bufferTime = data.bufferTime;break;
case 'seek':var seekTo = data.seekTo;break;
case '10%':var currentTime = data.currentTime;break;
case '25%':var currentTime = data.currentTime;break;
case '50%':var currentTime = data.currentTime;break;
case '75%':var currentTime = data.currentTime;break;
case '90%':var currentTime = data.currentTime;break;
case 'mute':break;
case 'unmute':break;
case 'rateChange':var current_rate = data.rate;break;
case 'enterFullscreen':break;
case 'exitFullscreen':break;
case 'resolutionChange':var current_resolution = data.res;break;
case 'summary':var pauseCount = data.pauseCount;var resumeCount = data.resumeCount;var bufferCount = data.bufferCount;var videoDuration = data.totalDuration;var total_bufferingDuration = data.bufferDuration;var real_watch_time = data.watchedDuration;break;
case 'default':break;}});