HTML5 Video Player with HLS and Video Transformations | Cloudinary

The Cloudinary Video Player is a JavaScript-based HTML5 video player bundled with many valuable customization and integration capabilities, and is monetization and analytics-ready. The player is fully responsive for use in any device or screen size, and is integrated with Cloudinary’s video delivery and transformation solution.

Important

Important

Cloudinary supports only the documented configuration and the supplied files with the video player. Any direct changes to the player code and its elements (for example, CSS and JS files) might break its functionality, and will not be supported.

This guide describes cloudinary-video-player version 1.9.5.

Recently Released

Recently Released

  • Lazy-load the DASH plugin automatically, reducing the size of the standard package.
  • Use tree-shaking to explicitly load the DASH plugin when importing the Video Player as a module.
  • Check out the brand new Interactive Video functionality (beta).
  • Show a thumbnail preview of content when using the seek bar by adding seek thumbnails.
  • Specify the video source as a raw URL.
  • Select quality manually when adaptive bitrate streaming is used.

You can find examples of all the new functionality on the Cloudinary Video Player Samples page.

See also:

Before you embed a Cloudinary video player in your own website or mobile app, take a look at some sample video player code and the video player that results from it.

Alternatively, design and customize your video player with Cloudinary Video Player Studio.

For this simple example, a video tag and short bit of JavaScript creates a responsively resizing video player that plays a single video. The video is muted when loaded and includes basic controls.

The Cloudinary video player is a feature-rich HTML5-based video player. This section summarizes its main functionality.

video player features callout

  • Responsive device support: The webview player is designed for both desktop and mobile web browsers on a wide range of devices. The look and feel of the player adjusts responsively to the display size.
  • Player controls: Built-in support for player controls: play, pause, mute/unmute, volume control, loop, jump, maximize/exit maximize, with the option for full customization.
  • Video transformations: Apply Cloudinary video transformations at the player level that will apply to all videos delivered in that player. Apply additional or override video transformations at the per-video level.
  • Multiple players: Include multiple players on the same page, each with different configuration settings, or with different sources and the same configuration.
  • Formats: Supports popular video formats, such as .mp4, .ogv, .webm, .mov. You can specify multiple formats and the player automatically selects the best format for the browser where it’s playing.
  • Adaptive bitrate streaming: Full support for HLS and MPEG-DASH including automatic generation of all required streaming representations and supporting files.
  • Customization:

    • Simple parameters to adjust skin themes, color schemes, fonts, display of titles and subtitles and other basic player preferences.
    • Easy addition of text tracks to show captions and subtitles for your videos.
    • A smaller floating player that appears when the user scrolls beyond a playing video.
    • Seek thumbnails that show when using the seek bar to allow previewing of upcoming content.
    • Events that enable you to trigger operations based on both passive and interactive actions that occur in your player.
    • Access to the underlying VideoJS API for low-level control or customization of any element of the player.
  • Playlists: Pass a list of videos or automatically include all videos that have a specified tag. Display a scrollable playlist widget to the right or below your player and/or pop-up a Next up thumbnail a few seconds before the end of each video.
  • Recommendations: Display recommended videos when a video ends.
  • Monetization: The player is monetization-ready, with support for leading ad standards such as VAST, VPAID, and VMAP. You can also include ads via Google DoubleClick or AdSense. Ad options include banners and pre-rolls, mid-rolls, and post-rolls (with or without a skip option).
  • Shoppable Video: Make your videos shoppable by displaying product images alongside your videos. This allows your users to visit your product detail pages and make a purchase.
  • Analytics: Monitor how many users are viewing your video and when, down to the level of any events you choose (start, pause, watched duration percentages, and more) and then pass the captured data to your Google Analytics account or other analytics trackers.

The Cloudinary video player offers standard and light package variations, available in either minified or non-minified formats.

Standard
Light

Non-minified
cld-video-player.js
cld-video-player.css
cld-video-player.light.js
cld-video-player.light.css

Minified
cld-video-player.min.js
cld-video-player.min.css
cld-video-player.light.min.js
cld-video-player.light.min.css

To include a video player on an HTML page, you can either reference the relevant video player package files directly from Unpkg CDN or you can install the complete video player package locally and then reference the relevant local files.

Option 1: Reference the relevant version of the video player directly from Unpkg CDN

Note

Note

The version numbers used above are the latest tested versions at the time of publishing this page. It’s recommended to test the latest available versions of the video player and JavaScript SDK, and update the version numbers in your code accordingly.

Option 2: Install the video player and import as a module

  1. Install the cloudinary-video-player:

  2. Import the video player as a module and import the CSS file:

Note

Note

cloudinary-core JavaScript library, and used a slightly different syntax for configuring the video player (using cloudinary.Cloudinary.new). Existing customers should note that although the current version of the Video Player still supports this old syntax and no changes are needed to your existing Video Player code, the removal of the dependency on the cloudinary-core JavaScript library results in smaller Video Player package sizes, and Cloudinary recommends updating your code moving forward.

Previous versions of the Video Player (before version 1.9.0) also required theJavaScript library, and used a slightly different syntax for configuring the video player (using). Existing customers should note that although the current version of the Video Player still supports this old syntax and no changes are needed to your existing Video Player code, the removal of the dependency on theJavaScript library results in smaller Video Player package sizes, and Cloudinary recommends updating your code moving forward.

You can view sample HTML and JavaScript code for the features described in this guide in the Cloudinary Video Player Demo.

You can experiment with variety of Video Player methods and properties in the Cloudinary Video Player Samples CodePen.