Nuevo plugin documentation

Player Setup

Video js player with Nuevo plugin setup does not differ much from one described on Video js website. It's a matter of seconds to get the player up and working on your web page.

1. Include the Video.js CSS stylesheet file in the head of your page.

You need to include videojs.css stylesheet file in the head section of your website page.
Code snippet
<link href="//" rel="stylesheet">
Of course you can load minimized version of stylesheet file - videojs.min.css.
If you prefer one of custom skins, just load stylesheet file from selected skin folder, eg.
Code snippet
<link href="//" rel="stylesheet">

2. Setup HTML5 video tag on page

Setup HTML5 video tag to embed your video. You must set unique 'id' attribute for video element, different for each next player instance on same web page. Include/exclude video attributes as you would do for standard HTML5 video element.

Code snippet
<video id="example_video_1" class="video-js" controls preload="auto" playsinline width="640" height="360" poster="//">
   <source src="//" type="video/mp4" />
   <source src="//" type="video/webm" />
Keep playsinline attribute to play video inline on Apple phones.
Keep preload="auto" attribute to avoid trouble with Ima, VAST and VPAID ads.

Videojs offers three predefined classes that makes easy to keep video element aspect ratio.
  • fluid Video keeps original aspect ratio
  • vjs-16-9 - Video keeps 16:9 aspect ratio
  • vjs-4-3 - Videojs keeps 4:3 aspect ratio
In our examples we use player 100% width of parent container and vjs-fluid class to keep original video height.
Code snippet
<video id="example_video_1" class="video-js vjs-fluid" controls preload="auto" playsinline width="640" height="360" poster="//">

3. Load video.js + nuevo.js javascript files.

Code snippet
<script src="//"></script>
<script src="//"></script>
Remember to include both script within website <body> element.
You can use Fastly CDN hosted video.js latest version minimized file.
Code snippet
<script src="//"></script>
<script src="//"></script>
You can load player related javascript files below video element or above (faster method).

Once player javascript loaded and video element defined you can initialize player with nuevo plugin, including plugin options.
Code snippet
   var player=videojs("'example_video_1");
      // plugin option1, plugin option2, plugin option3
Remember to keep multiple options coma separated.
You can also define global options javascript array and assign it later for nuevo plugin in short way.
Code snippet
   var player=videojs("'example_video_1");
   var options = { option1: value, option2: value, option3: value };
   player.nuevo({ options });

Multiple resolution video

Nuevo plugin has built-in feature to define multiple video sources encoded at different resolution and an option to switch between them later.

Set patameter `default` for video that you want to play first. Videos with resolution 720p or higher are marked with HD small icon.
Code snippet
<video id="example_video_1" class="video-js" controls preload="auto" width="640" height="360" poster="//">
   <source src="//" type="video/mp4" res="240" label="240p" />
   <source src="//" type="video/mp4" res="360" label="360p" />
   <source src="//" type="video/mp4" res="480" default label="480p"/>
   <source src="//" type="video/mp4" res="720" label="720p"/>
If you offer video quality switch between 2 video files only, where one is of some lower quality and second is of HD quality, instead of numeric resolution label you can use "SD" and "HD" labels (see example below.)
Code snippet
<video id="example_video_1" class="video-js" controls preload="auto" width="640" height="360" poster="//">
   <source src="//" type="video/mp4" default res="SD" label="SD" />
   <source src="//" type="video/mp4" res="HD" label="HD" />

For HTTP Live Streaming (HLS) and MPEG-DASH Nuevo plugin populates quality button and menu automaticallu, if only master playlist (m3u8, mpd) includes reference to multiple, different resolution playlists.

Check Adaptive Bitrate HLS and MPEG-DASH playback examples using videojs and Nuevo plugin.

Nuevo plugin options

  • logo (undefined) - logo image path
  • logocontrolbar (undefined) - logo image path for small logo in controlbar
  • logourl (undefined) - URL to go on logo click
  • logoposition (LT) - logo position (LT - top left, RT - top right)
  • target (_self) - set player links target "_self" or "_blank" to open link in same or new window.
  • relatedMenu (true) enable/disable related option in settings menu (true/false)
  • shareMenu (true) enable/disable sharing/permalink/embed option in settings menu (true/false)
  • rateMenu (true) enable/disable rate (speed) option in settings menu (true/false)
  • zoomMenu (true) enable/disable zoom option in settings menu (true/false)
  • settingsButton (true) set false to disable settings button and settings menus
  • pipButton (true) set this option to false to hide PictureInPicture button in control bar.
  • rewindButton (true) enable/disable rewind controlbar button. It is showing by default (true)
  • forwardButton (false) enable/disable rewind controlbar button. It is hidden by default (false)
  • mirrorButton (false) enable/disable mirror controlbar button used to switch video view
  • theaterButton (false) enable/disable theater mode button
  • timetooltip (true) - show or hide current timetooltip (true/false)
  • mousedisplay (true) - show or hide progressbar timetooltip (true/false)
  • errordisplay (true) - set this option to false if you wish to hide error messages
  • contextMenu (true) - set this option to false to hide context menu or setup own menu on right click
  • hdicon (true) - by default the player shows HD icon based on video resolution in quality menu. Set this option to false if you prefer not to show HD icon.
  • chapterMarkers (true) - by default shows chapter markers with tooltips if media chapters defined. To hide markers, set this option to false
  • resume (false) enable/disable option to resume video playback from last time position it was left
  • endAction (undefined) display sharing related container when video ends (share/related).
  • related (undefined) - javascript array of related videos.
  • title (undefined) - title of video for sharing options
  • url (auto) - website URL with video. If not defined - document URL assigned automatically.
  • embed (N/A) - video embed code to share.
  • videoInfo (false) - set "true" to show overlay video title with optional link
  • zoomWheel (false) - set "true" to enaable ZOOM using mouse wheel on video in desktop browser and eeasy zoom slideron touchscreen
  • zoomInfo (true) - set "false" to hide ZOOM info in top-left corner when video zoomed
  • limit (0) - watch limit
  • limiturl (undefined) - watch limit URL to go on click
  • limitimage (undefined) - watch limit image URL to display over video
  • slideImage - Sprite image URL to display individual video thumbs over player's timeline.
  • target (_self) - Set _blank to open any URL through player in new window. Necessary for "iframed" player.

Nuevo plugin methods and events

Nuevo plugin fires "nuevoReady" event when all controls and plugin functions loaded. Ready method is familiar to anyone who has used jQuery before.
Code snippet
  player.on('nuevoReady', function(){
Nuevo plugin fires resolutionchange event on change with resolution label parameter. You can use it for any purpose through javascript code.
Code snippet
	player.on('resolutionchange', function(event, data){
		var resolution = data.res;
		var label = data.label;
One of most valuable Nuevo plugin options is method to change video source programatically. It was described in detail on our blog pages on here and here.
Code snippet
  player.changeSource( {src: "//", type: "video/mp4"} );
Another unique Nuevo plugin options is method to load VTT chapters or captions programatically.
Code snippet
  player.loadTracks( { kind:"chapters", src:"//", srclang:"en"} );
  player.loadTracks( {kind:"captions", src:"//"),srclang:"en",label:"English"});

Playlist menthods and events.

Playlist media change event with new item ID.
Code snippet
player.on('playlist_change', function(event,data) {
   var new_item =;
  • player.playlist.list(); - method to get playlist list.
  •; - method to play next playlist item.
  • player.playlist.previous(); - method to play previous playlist item.
  • player.playlist.first(); - method to paly first playlist media item.
  • player.playlist.last(); - method to paly first playlist media item.
  • player.playlist.currentItem(); - method to get current playlist Index.
  • player.playlist.currentItem(id); - method to set new video with provided playlist Id.

Some other methods charateristic for Nuevo plugin.

  • player.forward(); - method to forward 10 seconds in video time.
  • player.rewind(); - method to rewind 10 seconds in video time.
  • player.share(); - method to toggle sharing container.
  • player.related(); - method to toggle related videos container.
  • player.reconnect(); - method to reload (reconnect) video source.

Player language

Videojs player is available in multiple languages. Since Nuevo plugin includes many new features, you may want to update language tranalations for new text strings.This tutorial shows how to extend certain language file, load and use language localized strings.