A Dedicated HTML5 Video Player Optimized For Movies | moovie.js

moovie.js – Movie Focused HTML5 Player is a fully responsive, fully customizable, cute looking movie-focused HTML5 player with support for both WebVTT (.vtt) and SubRip (.srt) captions.


  • 🔧 Fully customizable
  • 💎 Adjust caption compensation on the fly
  • 🌠 Adjust speed on the fly
  • 🎬 Built-in support for .vtt,. srt
  • 🖊 Add tracks/captions dynamically
  • 🛠 Events / Standard / API shortcuts
  • 💪 No dependencies, created with VanillaJS
  • 🌎 Tested in all modern browsers
  • 💻 Responsive

How to make use of it:

1. Import the stylesheet moovie.css and JavaScript moovie.js.

<link rel=”stylesheet” href=”css/moovie.css” />
<script src=”js/moovie.js”></script>

2. Embed your video into the doc and specify the path to captions as follows:

<video id="example" poster="poster.jpg">
  <source src="movie.mp4" type="video/mp4">
  <track kind="captions" label="French" srclang="fr" src="caption-fr.vtt>>">
  <track kind="captions" label="English" srclang="en" src="caption-en.vtt>>">
  Your browser does not support the video tag.

3. Initialize the movie on the video and complete it.

document.addEventListener("DOMContentLoaded", function() {
  var myPlayer = new Moovie({
      selector: "#example"

4. Determine the scale of the video.

document.addEventListener("DOMContentLoaded", function() {
  var myPlayer = new Moovie({
      selector: "#example",
      dimensions: {
        width: "100%"

5. add captions to your video participant.

  options : {
    0: {
      label: 'Italian',
      srclang: "it",
      src: "1.srt"
    1: {
      label: 'Spanish',
      srclang: "es",
      src: "2.vvt"

6. More API strategies.

// Toggle play

// Enable/disable subtitles

// Enable/disable fullscreen mode

// Returns player DOM element

// Returns a boolean indicating if the current player is playing.

// Returns a boolean indicating if the current player is paused.

// Returns a boolean indicating if the current player is stopped.

// Returns a boolean indicating if the current player has finished playback.

// Returns currentTime of the player.

// Returns the duration for the current media.

// Returns a boolean indicating if the current player is seeking.

// Returns the volume of the player.

// Returns a boolean indicating if the current player is muted.

// Returns current playRate

// Returns mininum speed allowed

// Returns maximum speed allowed

// Returns mininum caption offset allowed

// Returns maximum caption offset allowed

// Returns current caption offset

// Returns current source of the player

// Set currentTime to given number(seconds)
myPlayer.currentTime = 60

// Set player's volume to given number (0.5 is half the volume)
myPlayer.volume = 0.5

// Set player's playbackRate to given number (0.1 to 8)
myPlayer.speed = 2

// Set player's caption offset to given number (-5 to 5)
myPlayer.captionOffset = 2


A player will bind the following keyboard shortcuts when it has focus.

SpaceBarToggle Play
KToggle Play
FToggle Fullscreen
CToggle Captions
MToggle Mute
ArrowRightForward 5s
ArrowLeftBackward 5s
Shift+WIncrease the caption’s size
Shift+SDecrease the caption’s size
play(Play:Pause)Play button
mute(Mutar:Desmutar)Mute button
subtitles(Enable:Disable) SubtitlesSubtitles button
configSettingsSettings button
fullscreen(Enter:Exit) FullscreenFullscreen button
main_topicsettings:Submenu’s topic
main_captionCaptionsSubmenu’s caption string
main_offsetCaption OffsetThe submenu’s offset string
main_speedSpeedSubmenu’s speed string
main_disabledDisabledSubmenu’s caption states
main_defaultDefaultSubmenu’s speed default state
caption_topicCaptions:Caption’s submenu topic string
caption_backBackCaption’s submenu back button
caption_loadLoad LocallyThe caption’s submenu loads the subtitles string
offset_topicAdjust Caption OffsetOffset’s submenu topic string
speed_topicSpeed AdjustSpeed’s submenu topic string

Custom HTML5 Video Player Optimized For Movies, Movie focused HTML5 Player Plugin/Github

See Demo And Download

Official Website(BMSVieira): Click Here

This superior jQuery/javascript plugin is developed by BMSVieira. For extra Advanced Usage, please go to the official website.

Related Posts


[Animation] Bootstrap Multi-Level Responsive Dropdown Menu

Bootstrap-based multi-level dropdown navigation menu with cool animations. The dropdown on Hover is a jQuery plugin used to create Bootstrap multi-level scroll-triggered dropdown menus with CSS3 animations…


HTML 5 File Input Optimized for Bootstrap 4.x./3.x with File Preview | Bootstrap Fileinput

bootstrap-fileinput is an improved HTML 5 file input  Bootstrap 5.x, 4.x and 3.x with file preview for different files, provides multiple selections, resumable section uploads, and more….


How to Add Floating Whatsapp Chat Button In HTML | venom-button

Venom Button is a very simple plugin for the jQuery floating WhatsApp button. Adds a floating button to your site that calls WhatsApp Click to Chat API. It will automatically start the WhatsApp…


Interactive Data Table Generator with JS/jQuery and JSON | Tabulator

Tabulator allows you to create interactive tables in seconds from any HTML Table, JavaScript array, AJAX data source, or JSON format data. Just include the library in your…


Simple Alert, Confirm, Prompt Popup Using Vanilla JavaScript Library | attention.js

JavaScript provides various built-in functionality to display popup messages for different purposes. Attention JS is a vanillaJS plugin used to create a custom alert, confirm, or Prompt…


Lightweight Bootstrap 4 Toast Notification Plugin | BS4 Advanced Toast

A lightweight Bootstrap 4 Toast Notification plugin integrated with JS/jQuery. bs4-toast.js is a JavaScript library that enhances the native Bootstrap toast component with icons, buttons, callbacks, and…

Leave a Reply

Your email address will not be published. Required fields are marked *