Modern Video Gallery Player

Modern Video Gallery Player

4.31 (130 ratings) 4.31 stars
Cart 2,176 sales
Recently Updated
Modern Video Player is a powerful video and audio player that supports all kind of embeddable media, from HTML5 video formats to Youtube videos, playlists, channels, Vimeo videos, albums, channels to reading folders of video, audio or image files, Apple HLS and MPEG DASH live streaming, 360 virtual reality videos and images, embedded iframes like Daily motion, Wistia videos, Google maps and much more.

Player can serve different video quality for both desktop and mobile browers, display video subtitles in multiple langauges, control playback speed, audio languages 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), annotations during video playback, private / password protected videos, Google analytics, Google Adsense.

Features and options:

  • Destop, mobile and tablet support (fully responsive)
  • Responsive layouts
  • Highly customizable with HTML and CSS
  • SVG icons
  • Compatible with Squarespace
  • Only mp4 video format required for all browsers and devices
  • Supported content sources:
    • Self hosted video, audio, images
    • Self hosted virtual reality 360 video
    • 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
      • Video query (search)
      • 360 video
    • Folder playlist (video, audio)
    • Custom iframe (show any iframe into the player: Daily Motion, Wista, Google Maps…etc)
    • XML playlist
  • Password protected videos
  • 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
  • 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 media
  • Annotation support (show / hide HTML elements including iframes over video area during playback). Global annotations per playlist or individual per media
  • AdSense support in player (monetize your video content!)
  • Show video preview on hover like Youtube thumbnails
  • active item and timestamp parameters in url
  • Video Chapters support (seek to specific time with presented seekbar and title)
  • Remember playback position on page reload (active video, current time).
  • Protect media and video urls with url encryption from source page.
  • Support for multiple instances in the same page
  • Option to mix different media types in the same playlist (to have self hosted videos, youtube videos, images etc in same playlist)
  • Stick to bottom on page scroll
  • Up next video feature
  • Load more videos on scroll to playlist bottom
  • Playlist position top / bottom / left / right / lightbox / grid / vertical / horizontal
  • Playlist options:
    • Scroll
    • Buttons
    • Mouse move
    • Wall / Grid layouts
    • None
  • Load more options on total scroll in playlist:
    • load more option for Youtube and Vimeo
    • load more option from Wordpress database
  • 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
    • multiple playback qualities
    • load more videos on page scroll (Youtube, Vimeo)
    • mobile autoplay under certain conditions
    • on media end navigate to url
    • swipe video
    • Picture in picture
  • Breakpoints (hide specific buttons or player elements on small screens)
  • Autoplay when in viewport (full width video mode)
  • Theater mode (full width video mode)
  • Serve player as lightbox
  • Media aspect ratio (original / fit-inside / fit-outside)
  • Media end action (next, loop, rewind)
  • Keyboard navigation
  • Social sharing (facebook, twitter, tumblr… etc)
  • API methods to interact with the player on runtime
  • Callbacks events during video playback
  • Advert callbacks which fire when video ads play


Wordpress version available here:

Updates / Changelog

VERSION 11.20 [2.11.2021]

 - [ADD] play videos from OneDrive (single or folder)
 - [UPDATE] option to load folder of 360 videos, Google drive folder of 360 videos, amazon s3 folder of 360 videos, OneDrive folder of 360 videos

VERSION 11.16 [9.10.2021]

 - [FIX] previous chapter button showing always

VERSION 11.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 

VERSION 11.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 11.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 

VERSION 11.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 11.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] up next thumb time not registered
 - [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] 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] new grid layouts

 - [ADD] mid-roll advert coming in... 123 seconds message
 - [ADD] support for vr stereoscopic videos 
 - [ADD] option to use PerfectScrollbar instead of mCustomScroll in playlist 
 - [ADD] audio slideshow as alternative to audio visualizer while audio plays
   [ADD] option to prevent user from seeking into not yet watched part of the video

VERSION 10.71 [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 10.7 [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 10.63 [26.10.2020]

 - [FIX] swipe not working
 - [FIX] subtitles not visible when video has advert
 - [FIX] 360 video not pannable when used as advert

VERSION 10.62 [13.8.2020]

 - [FIX] password field input not working

VERSION 10.61 [18.7.2020]

 - [UPDATE] play 360 video from hls or dash source

VERSION 10.6 [10.7.2020]

 - [FIX] vimeo download video not working  
 - [FIX] playlist position grid / wall description style below thumbnail not working
 - [FIX] youtube playback rate not working 
 - [FIX] annotation close not removing correct annotation when showAnnotationsOnlyOnce 
 - [FIX] create tables on multisite
 - [FIX] create playlist from video statistics not working
 - [FIX] image ads not detect duration
 - [REMOVE] removed Youtube deprecated playback quality menu
 - [UPDATE] set poster for custom HTML
 - [UPDATE] preloader visible before player loads
 - [UPDATE] if duration is used in playlist item thumbnail, duration is set after metadata if not available previously
 - [UPDATE] google analytics moved to callbacks
 - [UPDATE] social sharing url for multiple players in page 
 - [ADD] attach category / tags to videos and filter videos with category / tags in frontend
 - [ADD] option to show video poster on pause   
 - [ADD] option to hide player until playlist starts loading
 - [ADD] option to prevent Vimeo player from tracking session data, including cookies
 - [ADD] new skins and templates (grid and lists of thumbnails, separated playlists from player)
 - [ADD] option to show multiple playlists in page at once 

VERSION 10.05 [18.4.2020]

 - [FIX] global per playlist video password not working

VERSION 10.0 [12.4.2020]

 - [FIX] mediaEndAction poster keeps duplicating posters
 - [FIX] seekbar wrong calculation
 - [FIX] "spaced" layout having next / previous playlist buttons in wrong position
 - [FIX] video preloader hidden when resume screen is shown (so its now seen behind transparent resume screen)
 - [FIX] IOS require double tap on unmute button if controls hidden
 - [CHANGE] video poster is always shown (if exist) regardless of autoplay
 - [UPDATE] remember playback position now works with adverts (it remembers main video position, adverts are always played if exist) 
 - [UPDATE] lock video time is now available as global playlist option
 - [UPDATE] support for unlimited number of ads before and after main video
 - [ADD] option to randomize ads
 - [ADD] option to show video duration in thumbnail and upnext
 - [FIX] up next thumbnail not showing correctly with random play
 - [ADD] up next / watched thumbnail over next and previous buttons
 - [ADD] coming next screen between videos (new mediaEndAction)
 - [ADD] related videos screen after video ends (new mediaEndAction). Show related videos from other playlists and load playlist on demand. 
 - [ADD] chapters menu list and button in controls to show chapter menu
 - [UPDATE] option to display video controls before video starts including chapter selector (requires video duration on self hosted video) 
 - [UPDATE] menu items bigger padding for better mobile usability
 - [ADD] player settings can now be passes with query string (parameters begins with "mvp-")
 - [ADD] create playlist from query string parameters 
 - [UPDATE] share specific video in playlist when used with social networking (direct link to video and current time)
 - [UPDATE] right click context menu update, share url to specific video in playlist
 - [UPDATE] option to provide multiple youtube api keys
 - [ADD] cache playlist in browser to limit api requests for Youtube and Vimeo services

VERSION 9.6 [1.3.2020]

 - [ADD] unmute button to unmute the video 
 - [ADD] optional search field in playlist
 - [UPDATE] use your own input search field for playlist items and specify dom selector 
 - [ADD] optional closed caption button in controls to toggle caption state
 - [UPDATE] autoplay in viewport multiple players like facebook
 - [ADD] open player in lightbox (with or without playlist)
 - [ADD] init player on dom selector click (and open specific video)
 - [ADD] optional button to close player minimize
 - [ADD] display collections from Vimeo (on demand), Vimeo user videos, Vimeo folders
 - [ADD] LIVE indicator in controls for live streams (auto or manual)
 - [ADD] option to disable seekbar to prevent skipping video
 - [ADD] only logged in users can download video (non logged in users are presented with login or register message)
 - [ADD] lock some videos, only logged in users can watch specific videos (or partial watch, for example first 15 seconds)
 - [ADD] callback beforeLoginScreen called before login screen opens 
 - [ADD] optional resume playback position prompt - ask user to continue watching where left off or start from the beginning
 - [FIX] parse vtt with multiline of text

VERSION 9.56 [31.1.2020]

 - [UPDATE] cleaned double autoPlay setting (no more forceMutedAutoplay), autoPlay settings is now reponsible for muted autoplay

VERSION 9.55 [21.1.2020]

 - [UPDATE] player now retains layout in page while minimize on scroll 
 - [UPDATE] Google Analytics update
 - [UPDATE] new setting: combinePlayerRatio (boolean) keeps video ratio same when playlist is opened / closed in vlb, vrb layouts
 - [ADD] option to hide playlist on player minimize 
 - [ADD] restrict player width on minimize
 - [ADD] option to sort media loaded from folder
 - [ADD] set playback rate values
 - [ADD] load json playlist
 - [ADD] load any HTML into the player (ex. Facebook videos, Google maps etc..)

VERSION 9.53 [3.1.2020]

 - [ADD] option to activate the player when parent visible 

VERSION 9.52 [25.11.2019]

 - [FIX] hide player controls after image start with no duration, and after iframe shown in player

VERSION 9.51 [16.11.2019]

 - [UPDATE] toggle subtitle font size with keyboard controls (+/-)

VERSION 9.5 [16.11.2019]

 - [FIX] lightbox not opening when poster set
 - [FIX] truncate playlist description not working if playlist is closed on start 
 - [UPDATE] updates to player resizing (player never larger than viewport)
 - [UPDATE] new code generator for skin layout
 - [ADD] theater mode

VERSION 9.4 [25.10.2019]

 - [ADD] option to show poster after video end screen (self hosted, youtube, vimeo)
 - [ADD] option to skip poster 

VERSION 9.3 [14.10.2019]

 - [ADD] new optional buttons in controls (rewind, skip backward, skip forward)
 - [ADD] new buttons in advert (volume, fullscreen)
 - [UPDATE] set default video quality on mobile
 - [ADD] load more option for self hosted media
 - [ADD] option to choose Youtube and Vimeo thumbnail size 
 - [ADD] audio visualizer as alternative to poster showing while audio plays
 - [ADD] image support
 - [FIX] Vimeo sort order

VERSION 9.1 [18.9.2019]

 - [UPDATE] Youtube api quota optimization

VERSION 9.0 [28.8.2019]

 - [UPDATE] all new skins
 - [UPDATE] code improvements

VERSION 8.6 [14.6.2019]

 - [ADD] seek to chapter start option (when chapters are used) 
 - [UPDATE] improved mouse inactiving over player
 - [FIX] adverts not working with youtube, vimeo videos without data-noapi attribute
 - [ADD] option to set sticky video only if video is playing 

VERSION 8.52 [3.6.2019]

 - [UPDATE] add font awesome namespace to prevent conflicts

VERSION 8.51 [13.4.2019]

 - [FIX] click on playlist item cancels load more on total scroll

VERSION 8.5 [15.3.2019]

 - [ADD] playlist is stored in browser to limit API requests for Youtube, Vimeo and other services

VERSION 8.46 [4.2.2019]

 - [ADD] support for Vimeo private unlisted videos

VERSION 8.45 [27.1.2019]

 - [ADD] load Youtube channel by username, load Vimeo album by username

VERSION 8.41 [3.12.2018]

 - [ADD] set any frame as poster for self hosted video 
 - [UPDATE] some controls layout improvements

VERSION 8.4 [1.12.2018]

 - [ADD] picture in picture option 
 - [ADD] mpeg dash support
 - [ADD] new controls style
 - [ADD] chapter markers in seekbar for adverts
 - [UPDATE] small code improvements

VERSION 8.23 [17.11.2018]

 - [UPDATE] elements visibility
 - [FIX] few bugs

VERSION 8.22 [13.11.2018]

 - [UPDATE] direction RTL compatibility
 - [UPDATE] dynamic subtitle font size 
 - [UPDATE] auto sort break points from low to high
 - [UPDATE] seekbar and time auto hide for Youtube live stream videos
 - [ADD] new player skins
 - [ADD] hover preview for playlist thumbnails (gif)
 - [ADD] option to change any player icon with svg icons
 - [ADD] custom right click context menu
 - [FIX] scroll navigation horizontal playlist set width after new api playlist load

VERSION 8.1 [4.10.2018]

 - [ADD] new playlist positions (vertical left, horizontal top)
 - [ADD] new sharing sites (reddit, pinterest, digg, linkedin)
 - [ADD] optional published date in playlist items for Youtube and Vimeo (with title and description)
 - [FIX] wrong tooltip position in lightbox mode
 - [FIX] wrong grid gutter calculation
 - [FIX] pre roll advert preventing annotations to show on main media 

VERSION 8.0 [26.9.2018]

 - [ADD] password protected content (global per playlist or individual)
 - [ADD] option to set image alt text
 - [ADD] automatically generate Vimeo download links
 - [ADD] AdSense support in player 
 - [ADD] option to limit large description text
 - [ADD] active item and timestamp parameters in url 
 - [ADD] optional poster image for Youtube and Vimeo
 - [ADD] option to display poster image on mobile to preserve bandwidth 
 - [ADD] WhatsApp share button
 - [UPDATE] improvements on Minimize player on scroll option
 - [UPDATE] added optional scrollbar for description and embed area instead of browser default one
 - [UPDATE] improved subtitle styling
 - [UPDATE] improved iframe loading in annotations
 - [FIX] small bug fixes

VERSION 7.62 [6.8.2018]

 - [ADD] Google Analytics tracking
 - [ADD] option to swipe the video

VERSION 7.6 [2.8.2018]

 - [CHANGE] new controls style
 - [UPDATE] improved vimeo playback (vimeo playlist can now contain both default and chromeless videos)

VERSION 7.55 [23.7.2018]

 - [UPDATE] improved chapters on mobile
 - [ADD] CSS shadow effects on player
 - [ADD] option to remember playback position on page reload
 - [ADD] new ad events to track ads (callbacks)
 - [FIX] mouse wheel on button navigation

VERSION 7.51 [19.7.2018]

 - [FIX] chapters not working on Android
 - [FIX] big play button appearing over Vimeo default player

VERSION 7.5 [15.7.2018]

 - [ADD] conditional script loading (improves usability and performance)
 - [ADD] added video chapters option
 - [ADD] pre roll, mid roll, end roll adverts, individual per video / global per playlist (adverts can be self hosted videos, audio, images, youtube single video, vimeo single video)
 - [ADD] on screen popup annotations, individual per video / global per playlist (show/hide HTML elements on screen during playback)
 - [ADD] optional protected media and video urls (url encryption)
 - [ADD] optional custom html content in playlist items 
 - [ADD] vimeo chromeless player 
 - [ADD] video redirect feature (on video end go to url)
 - [FIX] some issues with 360 playback
 - [FIX] video start time
 - [CHANGE] loadMoreOnTotalScroll moved from settings to data-load-more attribute on playlist item
 - [UPDATE] elements visibility (hide subtitles, annotations, upnext on mobile)
 - [UPDATE] overall code improvements

VERSION 6.99 [11.6.2018]

 - [UPDATE] updates to lightbox layouts
 - [ADD] optional up next video feature
 - [ADD] option to hide certain buttons on mobile 
 - [ADD] new transparent controls layout
 - [ADD] Live Streaming Multiple Audio Tracks and Subtitles support 
 - [FIX] remember playback rate speed on quality change
 - [FIX] playback quality change for youtube reloading video instead of quality

VERSION 6.97 [31.5.2018]

 - [ADD] Youtube playback option without cookies
 - [FIX] navigation type buttons sometimes showing with no more items to load on load more option
 - [ADD] New 100% window size layouts
 - [ADD] optional grid calculations for playlistPosition outer (grid, wall layouts)

VERSION 6.95 [25.5.2018]

 - [UPDATE] forceMobileAutoplay changed to forceMutedAutoplay
 - [ADD] add optional thumbnail preview when seeking video (requires sprite of images for each video + vtt)
 - [ADD] option to minimize and fix player anywhere on the page when scrolling (limited to one player in page)
 - [ADD] another demo with svg icons

VERSION 6.91 [14.5.2018]

 - [UPDATE] update for Chrome autoplay

VERSION 6.9 [9.5.2018]

 - [ADD] new option to autoplay videos after first video has been manually started
 - [ADD] new option to start playing video when player is visible on the page
 - [ADD] new demos with pagination and lightbox
 - [ADD] option to have youtube default player controls
 - [FIX] some bug fixes and code improvements

VERSION 6.75 [25.4.2018]

 - [ADD] now you can set player ratio for video area (for example 4/3, 16/9 etc..) 
 - [CHANGE] playlist width and heigth is set with javascript.
 - [UPDATE] load more button is now automatically removed when there is no more data to load 
 - [FIX] video not resizing if autoplay is false and poster was used  
 - [FIX] lightbox mode fullscreen

VERSION 6.7 [20.4.2018]

 - [ADD] new view player as lightbox option
 - [UPDATE] some layout improvements (player keep 16/9 ratio on playlist toggle, improved button scrolling customizability)
 - [FIX] fadding only newly added thumbs on load more
 - [UPDATE] new demos and layouts

VERSION 6.52 [5.4.2018]

 - [FIX] bugfix incorrect horizontal playlist width calculation due to margins (for buttons or hover navigation)
 - [FIX] youtube video not resizing with custom data-width, data-height attributes
 - [FIX] fullscreen icon not switching 

VERSION 6.51 [5.4.2018]

 - [FIX] bugfix with hover navigation

VERSION 6.5 [2.4.2018]

 - [UPDATE] new playlist scroll options (buttons and hover)
 - [UPDATE] new demos and layouts

VERSION 6.12 [21.3.2018]

 - [FIX] youtube api initialization with multiple players in same page

VERSION 6.01 [8.3.2018]

 - [UPDATE] added mobile autoplay

VERSION 6.0 [5.3.2018]

 - [FIX] fade in thumbs
 - [FIX] some playback improvements
 - [FIX] improved autoplay
 - [FIX] improved multiple instances 
 - [FIX] other bug fixes
 - [UPDATE] new way of handling image and font icons in player
 - [CHANGE] controls animation changed to fade (easier to change skin and move buttons to different position of the player)
 - [ADD] support for playing audio files (mp3/wav/HLS Live Streaming)
 - [ADD] support for playing Vimeo video ( Vimeo default player or chromeless player with custom controls for Pro members; Support for Vimeo album, channel, group, search videos, single video )
 - [ADD] support for custom iframe (show any iframe into the player: Daily Motion, Wista, Google Maps...etc)
 - [ADD] optional image duration in miliseconds (show time on screen)
 - [ADD] optional sortable playlist items
 - [ADD] new API methods (add track to player, remove track from player)
 - [REMOVE] image zoom

tags: adsense, advertising, audio, mp4, streaming, video, video player, video wall, vimeo, Vimeo Channel, youtube, youtube gallery


Tell us what you think!

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

Sure, take me to the survey