Code

Modern Video Player for Wordpress

Modern Video Player for Wordpress

By
Cart 456 sales
Recently Updated

Click image to view demo



View plugin documentation



Modern Video Playery is a extremely powerful video and audio player that supports all kind of embeddable media, from HTML5 video formats to Youtube videos, Youtube live feed, playlists, channels, Vimeo videos, albums, channels, collections to reading folders of video, audio or image files, Apple HLS and MPEG DASH live streaming, 360 virtual reality videos and images, embed any HTML into the player like Facebook videos, Google maps and much more.

Player can serve multiple video quality for both desktop and mobile browers, display video subtitles in multiple langauges, control playback speed, multilangauge audio support for live streaming.

Modern Video Player also supports unlimited playlists and each playlist can contain unlimited number of videos. Each playlist can also contain mixed media inside, so we can have self hosted videos, Youtube videos and some images mixed inside the same playlist.

Player is packed with a huge amount of features and customization options from different layouts, skins, color customization, social sharing, external API, video advertisments (pre-roll, mid-roll, end-roll) videos, video ads, popup ads, HTML ads, annotations during video playback (HTML elements appear over video showing at specific time intervals), private / password protected videos, Google Analytics, Google Adsense. Support for VAST formats in the player are VAST / VMAP / IMA / VPAID, SIMID.

Use this as full video player player and display full playlist, or hide the playlist all together and use this as a simple video player. Or display your videos in a fully responsive grid manner showing image thumbnails or open the player in a lightbox.

Features and options:

  • Destop, mobile and tablet support (fully responsive and mobile optimized buttons)
  • Highly customizable with HTML and CSS!
  • Written in plain Javascript which means it will run fast in your website and will not interfere with other scripts.
  • Accessible / semantic elements. Player used clean HTML – uses the right elements, buttons for buttons, input range for volume and progress for progress seekbar.
  • Only mp4 video format required for all browsers and devices
  • Supported content sources:
    • Self hosted video, audio, images
    • Self hosted virtual reality 360 video, example here
    • Self hosted image panorama 360
    • Apple HLS Live Streaming
    • MPEG DASH Live Streaming
    • Youtube content:
      • Single video
      • Playlist
      • Channel
      • 360 video
    • Vimeo content:
      • Single video
      • Showcase (formerly Album)
      • Group
      • Channel
      • 360 video
    • Amazon S3 public and private buckets with presigned url
    • Amazon S3 with Cloudfront support
    • Folder playlist (video, audio)
    • Google Drive
    • One Drive
    • Custom iframe (show any iframe into the player: Daily Motion, Wista, Google Maps…etc)
    • XML playlist
    • JSON playlist
  • Playlist position:
    • Right of player
    • Bottom of player
    • Hidden playlist (simple video)
    • Thumbnail grids
    • Lightbox player
  • Password protected videos
  • Restrict content in Wordpress and make videos visible for logged in users and specific user roles.
  • Set any frame as poster for self hosted videos
  • Optional poster image for self hosted video, Youtube and Vimeo
  • Option to display poster image on mobile to preserve bandwidth
  • Chromecast support. Example here
  • AirPlay support
  • Subtitles support for any media (video, audio, Youtube, Vimeo) (vtt / srt)
  • Google Analytics tracking
  • Adverts support (pre-roll, mid-roll, end-roll). Play video, audio file on demand. Global adverts per playlist or individual per video, example here
  • Annotation support (show / hide HTML elements including iframes over video area during playback).Support for shortcodes in annotations. Global annotations per playlist or individual per video, example here
  • Popup windows support (show / hide HTML elements including iframes over video area on video pause). Popups can be useful for large data display, when focus is mainly on popup since video is paused. You can use it to display for example some iframes over video, or some user forms. Popups can also be used for displaying simple images (additionally linked to url on click), example here
  • AdSense support in player (monetize your video content!)
  • Show video preview on hover like Youtube thumbnails, example here
  • Active item and timestamp parameters in url
  • Video Chapters support (seek to specific time with presented seekbar and title), example here
  • Video Chapters in window, example here
  • Transcript support (show video subtitles in separate window above the playlist area, example here
  • Remember playback position on page reload (active video, current time).
  • Watch limit. Restict video watching time and show custom image on video end, example here
  • Protect video from being downloaded using url encryption and video blobs.
  • Video embedding. Embed video player in another website.
  • Stream video from camera
  • Support for multiple instancesof video player in the same page.
  • Allow users to create their own playlists
  • Add video to favorites for each user
  • Option to import / export playlists and players so they can be easily moved to another domain plus option for strong>domain rename video and other urls inside playlists.
  • Option to mix different media types in the same playlist (you can have self hosted videos, Youtube videos, images mixed in same playlist)
  • Stick to bottom on page scroll, example here
  • Up next video feature, example here
  • Load more videos on scroll to playlist bottom, example here
  • Playlist is cached in browser to limit API requests For Youtube, Vimeo and other services and fast load on start
  • Playback options:
    • random playback
    • loop playlist
    • playback speed
    • start / end time
    • Show custom poster on pause
    • multiple playback qualities
    • multiple audio playback qualities
    • load more videos on page scroll
    • on media end navigate to url
    • Media end action (next, loop, rewind, show poster, show custom image, coming next videos)
    • swipe video
    • Picture in picture
    • Set custom end screen (with your orn HTML and CSS)
  • Query string parameters, load video parameters directly in browser url.
  • Responsive breakpoints (hide specific buttons or player elements on small screens)
  • Autoplay when video comesin viewport, example here
  • Theater mode (full width video mode), example here
  • Serve player as lightbox, example here
  • Replace Wordpress default video player (self hosted videos, youtube, vimeo)
  • Media aspect ratio (original / fit-inside / fit-outside)
  • Keyboard navigation
  • Social sharing (facebook, twitter, tumblr… etc)
  • API methods to interact with the player on runtime
  • Event callbacks events during video playback
  • Advert callbacks which fire when video ads play


Video advertizing


Video adverts VAST / VMAP / IMA / VPAID


Video annotations


Popup ads over video area


HTTP Live Streaming HLS DASH


Video chapters


Virtual reality 360 video


Custom video end screen


Limit watch time


Playlist icons (call to action menu)


Interactive transcripts


Chromecast support


Mobile friendly menu list (playback rate, video quality and subtitles)


Video zoom


Show video preview on hover like Youtube thumbnails


Autoplay when player enters viewable area


Minimize the player to bottom on page scroll



Open in lightbox


Grid layouts




Grid below player load more


Updates / Changelog

VERSION 9.8 [22.3.2024]

 - [FIX] statistics play count if percent set to zero
 - [FIX] vimeo api next page results on total scroll

VERSION 9.79 [11.3.2024]

 - [UPDATE] youtube api improvements

VERSION 9.78 [26.2.2024]

 - [ADD] page scroll event for load more in grid layouts

VERSION 9.75 [25.2.2024]

 - [FIX] chromecast subtitles

VERSION 9.7 [16.1.2024]

 - [UPDATE] upload multiple videos at once in playlist manager
 - [ADD] option show video sort videos buttons above grid or player (latest / popular / oldest)
 - [UPDATE] option show date from now format in playlist items
 - [ADD] option to add custom buttons in player controls
 - [UPDATE] hide video title in fullscreen

VERSION 9.5 [28.12.2023]

 - [UPDATE] Youtube allow setting default language for subtitles on start
 - [UPDATE] when loading folder of videos, option to auto load video subtitles 

VERSION 9.45 [6.12.2023]

 - [FIX] skin aviva rewind, skip backward, forward button icons not working
 - [UPDATE] youtube live streaming

VERSION 9.4 [23.11.2023]

 - [ADD] navigator share

VERSION 9.39 [20.11.2023]

 - [FIX] Google Drive folder

VERSION 9.38 [31.10.2023]

 - [UPDATE] autoplay in viewport only loads video poster on page load 

VERSION 9.36 [21.10.2023]

 - [ADD] option to exclude Youtube shorts from showing 

VERSION 9.35 [19.10.2023]

 - [ADD] option to loop vast tag with pre ads indefinitely

VERSION 9.3 [12.10.2023]

 - [FIX] iphone playing vast twice before main video starts

VERSION 9.28 [10.10.2023]

 - [UPDATE] chromecast improvements

VERSION 9.26 [8.10.2023]

 - [FIX] access to the feature "xr" is disallowed by permissions policy
 - [UPDATE] skip empty vast when ima loader is not used 

VERSION 9.25 [19.9.2023]

 - [FIX] parsing vast file error depending on vast content

VERSION 9.22 [24.7.2023]

 - [FIX] statistics not show correctly in playlist manager
 - [UPDATE] playlist item content is now in order (title, date, description) so date if used in not shown under description in playlist items
 - [ADD] show view count for videos in playlist items

VERSION 9.2 [6.7.2023]

 - [UPDATE] player markup is now generated internally
 - [ADD] stream video from a camera 

VERSION 9.03 [29.6.2023]

 - [FIX] block shortcode ad_id undefined

VERSION 9.02 [27.6.2023]

 - [FIX] user roles for playlist creation
 - [UPDATE] limit number of videos per playlist for user
 - [UPDATE] some statistics update

VERSION 9.0 [9.6.2023]

 - [ADD] allow users to create their own playlists 
 - [ADD] limit how many playlists and videos can user create 
 - [UPDATE] display video statistics per user
 - [ADD] add video to favorites for each user 
 - [UPDATE] track video watched percentage per user    

VERSION 8.71 [1.6.2023]

 - [UPDATE] display video subtitles in iPhone native fullscreen

VERSION 8.7 [30.5.2023]

 - [ADD] mobile compact playlist option

VERSION 8.6 [20.5.2023]


 - [FIX] transcript scrolls page 
 - [FIX] up next close button triggers next video
 - [FIX] skip advert button causing advert loading incorrectly  
 - [FIX] change video preloader which does not use css perspective because of flickering on safari

 - [ADD] mobile friendly scroll option for settings menu, transcript langauage menu, chapter menu
 - [ADD] option to synchronize transcript langauge with subtitles
 - [ADD] add keyboard info dialog in settings menu
 - [ADD] new keyboard action close dialog (info, share..) with escape key
 - [ADD] option to preserve playback rate when changing video  
 - [ADD] option to use global popup close button so it always displays above popup content on small screens 

 - [UPDATE] floating video top position 
 - [UPDATE] custom menu with call to action (playlist icons) in playlist items
 - [UPDATE] new zoom controls in settings menu

VERSION 8.37 [12.5.2023]

 - [UPDATE] swipe tolerance (minimum distance to trigger swipe)

VERSION 8.36 [4.5.2023]

 - [FIX] keyboard controls scroll page (spacebar, page up, down)

VERSION 8.35 [24.4.2023]

 - [ADD] auto open fullscreen on play click option
 - [ADD] inline adverts while video plays with user roles configuration

VERSION 8.30 [17.4.2023]

 - [UPDATE] debounce search
 - [ADD] export statistics to CSV

VERSION 8.27 [13.4.2023]

 - [UPDATE] prevent mobile hover for icons
 - [FIX] 360 virtual reality mobile sometimes now working

VERSION 8.25 [3.4.2023]

 - [UPDATE] option to insert your own preformatted title and description for playlist items and updated search

VERSION 8.21 [12.3.2023]

 - [FIX] amazon S3 private bucket not loading

VERSION 8.2 [6.3.2023]

 - [UPDATE] centered image annotations not to loose width on small screen 
 - [UPDATE] new improved keyboard controls
 - [UPDATE] chapters repeat, share buttons visible only on active chapter item (css change)
 - [ADD] popup advertisements on pause (any HTML content) individual or global (behave differently than annotations)
 - [UPDATE] choose between slide and alpha transitions in player (info, share, embed, playlist selector, chapter window, transcript)

VERSION 8.05 [1.3.2023]

 - [UPDATE] Vimeo api update

VERSION 8.04 [14.2.2023]

 - [FIX] playlist selector change playlist click inconsistent

VERSION 8.03 [12.2.2023]

 - [FIX] keyboard options not saving

VERSION 8.02 [2.2.2023]

 - [FIX] main video not playing after advert

VERSION 8.01 [30.12.2022]

 - [UPDATE] add video date (for playlist item content) when you upload mp4 video inside Playlist manager.

VERSION 8.0 [9.12.2022]

 - [FIX] some bugs with using search field and navigating between playlist items and transcript
 - [FIX] player shadow moved to inner element so its not visible until player loads 
 - [FIX] age verify screen would not show second time if we change video without interacting with age verify screen first
 - [FIX] active transcript item not selected on transcript language change
 - [FIX] AWS S3 not getting poster and thumb from folder
 - [FIX] if you copy embed url that already contains player query url parameters, they will get doubled
 - [FIX] Pagination items per page using Retrieve more limit    
 - [FIX] statistics not able to change playlist in dropdown

 - [ADD] loader for pagination grid
 - [ADD] option to pass Hls and Dash config parameters
 - [ADD] retrieve video title and description in your localized language for Youtube
 - [ADD] option to remember video quality across different videos 
 - [ADD] option to hide annotations on mobile
 - [ADD] option to advance to next video if current fails
 - [ADD] shortcode generator save quick shortcode values 
 - [ADD] playlist manager, added quick shortcode link to video
 - [ADD] option to change icons 

 - [UPDATE] converted to javascript (no jquery dependencies) 
 - [UPDATE] accessibility improvements on player markup (buttons and inputs for seekbar)
 - [UPDATE] option to add your own css to the player instead of player defined
 - [UPDATE] whatsApp share 
 - [UPDATE] added CSS container queries 
 - [UPDATE] added share and repeat buttons to chapter menu / window
 - [UPDATE] update to gtag analytics
 - [UPDATE] prevent seeking past mid adverts if havent already played
 - [UPDATE] added advert and chapter indicators to solo seekbar
 - [UPDATE] skin aviva & sirius, seekbar goes above controls on narrow screens to make room for other buttons
 - [UPDATE] embeded player is always 100% height of embedding container
 - [UPDATE] seekbar tooltip showing on mobile  
 - [UPDATE] choose swipe action  

VERSION 7.51 [22.11.2022]

 - [FIX] upload upload manager not working

VERSION 7.5 [16.9.2022]


 - [FIX] coming next video screen was visible even with single video in playlist
 - [FIX] if video autoplay was off, youtube videos would show youtube red play button on start instead of player play button  

 - [UPDATE] add private audio over Amazon S3 bucket
 - [UPDATE] option to remember playback position for all videos in playlist
 - [UPDATE] disable css hover styles for mobile
 - [UPDATE] show We are offline image when you are not streaming 
 - [UPDATE] added icon to unmute button
 - [UPDATE] apect ratio option active again
 - [UPDATE] some improvements for RTL layout
 - [UPDATE] option to use global keyboard controls
 - [UPDATE] embed copied text

 - [ADD] option to apply custom css globally to all players
 - [ADD] option to deactivate certain videos in playlist 
 - [ADD] transform video option with controls (zoom, rotate video and save state)
 - [ADD] set custom video end screen (show your own HTML and CSS after video ends)
 - [ADD] domain switch option, batch rename video urls in playlist (plus subtitles, thumbnails etc..)
 - [ADD] option to sort videos in playlist by most popular
 - [ADD] watch limit feature (disable video playback at specific time and show custom image with optional url)
 - [ADD] bottom seekbar when controls autohide
 - [ADD] option to add custom icons in playlist with url link attached to each

VERSION 7.31 [10.5.2022]

 
 - [UPDATE] thumbnail image not required for skip ad window
 - [FIX] vast non linear ads used without ima loader do not show

VERSION 7.3 [5.5.2022]

 
 - [FIX] chapter window close button not wokring
 - [FIX] tooltip sometimes wobbly
 - [FIX] restrict content header title missing from translation
 - [FIX] transcript header title language not updated on language change
 - [FIX] playlist button navigation css for buttons overwritten
 - [FIX] chapter window display in horizontal bottom navigation

 - [UPDATE] included video adverts into quick shortcode generator
 - [UPDATE] make playlist from folder of videos in custom directory on your server
 - [ADD] combine player ratio option (remove black bars around video in both player and playlist mode)
 - [ADD] playlist selector option in playlist (choose another playlist)
 - [ADD] option to auto advance to next playlist
 - [UPDATE] option to use default browser scrollbar in playlist

 

VERSION 7.16 [9.4.2022]

 
 - [ADD] specify global playlist lock video time for non logged in users
 

VERSION 7.15 [21.3.2022]

 
 - [FIX] fail to play next 360 video
 

VERSION 7.12 [21.2.2022]

 
 - [FIX] subtitle vtt will fail if it contains multiple newline breaks in a row
 - [UPDATE] option to activate cors on subtitles or chapters to load cross domain
 - [UPDATE] option not to pause video when click embed, share, video info...
 

VERSION 7.1 [22.1.2022]

 
 - [FIX] elements visiblity comparing video width, not whole container width when calculating what icons to show on different screen sizes
 - [FIX] You are watching resume screen (if already opened) stays visible after we click on another playlist item 
 - [FIX] letter n appears in page with skin pollux
 - [FIX] youtube / vimeo single video sometimes not loading on start
 - [ADD] option to load multiple vimeo single videos in one query
 - [UPDATE] "Activate When Parent Visible" changed to boolean 
 - [ADD] option to load Youtube and Vimeo video details without api key 

VERSION 7.06 [10.1.2022]

 
 - [FIX] seekbar position not updating when keyboard controls are used to seek and video is paused
 - [FIX] export feature not working in some cases (Read-only file system in plugins directory) 

VERSION 7.05 [.1.2022]

 
 - [FIX] export / import sometimes not working when wp prefix is different

VERSION 7.01 [25.12.2021]

 
 - [FIX] on clear statistics, clear visible data without page refresh
 - [FIX] some annotation data not saving

VERSION 7.0 [17.12.2021]

 
 - [FIX] quickly opening between share / embed / info window could leave video playing in the background
 - [FIX] setting link on video advert pause opens url link twice  
 - [FIX] adsence data not saved in admin
 - [FIX] player description breakpoint not saved
 - [FIX] using search field in playlist scroll to playlist top when videos are filtered
 - [UPDATE] specify video quality for mobile for self hosted videos
 - [UPDATE] include video adverts in custom shortcodes
 - [UPDATE] simplify data-path for adverts
 - [UPDATE] option to load subtitles, chapters cross domain
 - [ADD] video embed screen (embed single video or whole playlist)
 - [ADD] age verification screen for video
 - [ADD] transcript window showing all subtitles (change language + search function)
 - [ADD] chapter window showing all chapters (alternative to chapter menu, + search function)
 - [ADD] statistics add graph for total plays last month
 - [ADD] statistics choose percent of the video watched to count as played
 - [ADD] show top plays statistics per country, show play data for each user 
 - [ADD] option to exclude specific videos from showing in Youtube or Vimeo feed (channel, playlist ..etc)
 - [UPDATE] option to specify midroll adverts start time in percentage 
 - [UPDATE] option to specify adverts skip time in percentage  
 - [ADD] support for IMA, VAST, VMAP, VPAID, SIMID 
 

VERSION 6.20 [2.11.2021]

 
 - [ADD] play videos from OneDrive (single or folder)
 

VERSION 6.16 [29.10.2021]

 
 - [UPDATE] option to load folder of 360 videos, google drive folder of 360 videos, amazon s3 folder of 360 videos
 - [FIX] watched percentage on runtime not updating
 

VERSION 6.16 [9.10.2021]

 
 - [FIX] previous chapter button showing always

VERSION 6.15 [20.9.2021]

 
 - [FIX] audio ad not showing image poster if set
 - [FIX] Apple IOS remember playback position time
 - [ADD] option to show chapter title in player top left 
 - [ADD] previous chapter button in controls
 - [ADD] Amazon S3 support with private buckets with presigned url 
 - [ADD] translate backend with textdomain  

VERSION 6.11 [13.8.2021]

 
 - [FIX] changing height of the vertical playlist when its below the player not working
 - [FIX] display poster on mobile active on desktop as well
 - [ADD] AirPlay support 

VERSION 6.1 [30.5.2021]

 
 - [UPDATE] support for clicktag ads during video playback
 - [FIX] local subtitles for live streaming (hls, dash)
 - [FIX] if autoplay in viewport unmutes video with user page interaction, mute icon is still showing in player controls   
 - [ADD] next chapter button 
 - [UPDATE] clicking chapter menu will auto start video with "show Controls Before Video Start" option 
 - [ADD] Chromecast support 
 - [UPDATE] PHP 8 compatibility 

VERSION 6.05 [28.4.2021]

 
 - [UPDATE] Show poster on pause works with autoplay true (when poster is not shown on start)
 - [ADD] load Google Drive folder of videos

VERSION 6.0 [14.4.2021]

 

 - [FIX] live streaming video quality menu duplicating on select
 - [FIX] audio not playing on ios
 - [FIX] audio visualizer disabled on ios and poster is used instead
 - [FIX] apmvp_video shortcode not working
 - [FIX] restrict download button on click scrolling to page top
 - [FIX] up next thumb time not registered
 - [FIX] global (per playlist) lock video time 0 not recognized 
 - [FIX] if main video had poster, poster was shown when main video resumed playing after mirroll ad finished
 - [FIX] thumbnail hover preview using only preview from active video for all playlist items
 - [FIX] watched percentage not updating live with player type lightbox
 - [FIX] prevent custom context menu over player video description

 - [UPDATE] when description over thumbnail is used, playlist position vertical right / bottom will automatically switch style description over thumbnail / description right of thumbnail for best visual appearance
 - [UPDATE] thumbnail hover preview can be gif or a small video
 - [UPDATE] limit playlist description text has been changed to number of lines to show instead of number of characters. 
 - [UPDATE] option to remember last used subtitle
 - [UPDATE] searching for videos in playlist will only play videos found by search
 - [UPDATE] chapter title moved below preview seekbar thumbnail
 - [UPDATE] show video poster before asking for password protected videos
 - [UPDATE] improvements on Sirius skin, gradient added below controls to better emphasize controls above the video
 - [UPDATE] add media type "custom" can now be added as HTML directly in admin (using external file is still available option) 
 - [UPDATE] new keyboard controls selector and keyboard controls only active when cursor above the player (now working with multiple players in page) 
 - [UPDATE] watched percentage now works with anonymous shortcodes
 - [UPDATE] new grid layouts

 - [ADD] mid-roll advert coming in... 123 seconds message
 - [ADD] support for vr stereoscopic videos 
 - [ADD] shortcode generator with all attributes for the player
 - [ADD] quick shortcode generator for video (or multiple videos) 
 - [ADD] when adding video in Playlist manager, option to add video to multiple playlists at once
 - [ADD] option to use PerfectScrollbar instead of mCustomScroll in playlist 
 - [ADD] pagination inside admin Edit playlist section (video list)
 - [ADD] audio slideshow as alternative to audio visualizer while audio plays
 - [ADD] allow only logged in users or specific user roles to view video without ads 
   [ADD] option to prevent user from seeking into not yet watched part of the video

VERSION 5.16 [19.2.2021]

 
 - [FIX] youtube not autoplay after we click resume screen
 - [FIX] vimeo default player not resume after we click resume screen
 - [FIX] youtube, vimeo single video use without api not saving
 - [FIX] video advert ending causes link to open if set on video

VERSION 5.15 [7.2.2021]

 
 - [FIX] add url to image ad not working
 - [UPDATE] annotation shown by default on small screen or when player is small in size ( can be adjusted in responsive breakpoints section ). 

VERSION 5.12 [22.12.2020]

 
 - [ADD] auto generate video thumbnails for videos uploaded in WordPress
 - [FIX] live stream video quality change
 - [FIX] Android click unmute button pauses video 

VERSION 5.11 [03.12.2020]

 
 - [FIX] vimeo player parameters incorrect
 - [FIX] playing videos from new grid skin not working 

VERSION 5.1 [18.11.2020]

 
 - [FIX] global settings not detected when standalone shortcode was used
 - [FIX] lock video user roles bug
 - [ADD] live video thumbnails for html5 video
 - [ADD] option to show video title above the player

VERSION 5.07 [26.10.2020]

  
 - [FIX] swipe not working
 - [FIX] subtitles not visible when video has advert

VERSION 5.06 [20.10.2020]

  
 - [UPDATE] improvements on embedding multiple players

VERSION 5.05 [18.9.2020]

 
 - [UPDATE] some database improvements

VERSION 5.02 [28.8.2020]

 
 - [FIX] navigation type (scroll, buttons, mouse move) missing from admin menu in Edit player section

tags: video gallery, youtube, vimeo, hls, live streaming, dash, vast, ima, chromecast, chapters, learning, advertising




Notes:

This is WordPress plugin.

Using this plugin requires registration to domain. Instructions how to register are available here


by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey