BACK TO DIRECTORY

SmartVP Video Player – MP4, YouTube & Vimeo

by alaazaoug

5.0
(1 ratings)

SmartVP Video Player puts your own MP4 files, YouTube videos and Vimeo videos in one clean, responsive player built on Plyr. Create a player once, shape it while a live preview updates, and place it anywhere with a shortcode.

Quality and speed menus, multiple caption tracks, a custom control bar, play on scroll and a download button are all part of this free plugin.

Made for

  • Course and tutorial sites that host their own MP4 lessons.
  • Product and landing pages where a video should start as it scrolls into view.
  • Portfolios mixing vertical, square and wide clips.

Key features

  • One player for three sources: self-hosted or direct-link MP4, YouTube and Vimeo, with the same look and controls.
  • No black bars: “Original size” takes each video’s own shape. Fixed 16:9, 4:3, 21:9, 1:1, 9:16 or a custom ratio are available too.
  • Play on scroll: start muted when the player comes into view and pause when it leaves, with an adjustable threshold.
  • Live preview: see the size, corners and control bar change as you edit, before you save.
  • Custom control bar: choose and order any of 15 Plyr controls by drag and drop or with the keyboard.
  • Captions, quality and speed (MP4): several WebVTT caption tracks, a quality menu for multiple MP4 files, and the playback speeds you choose.
  • Lighter YouTube: YouTube shows a poster and loads its player only when the visitor presses play (or autoplay or play on scroll starts it).
  • Download button: optional, with your own download link if you like (MP4).
  • Playback options: autoplay (muted), loop, preload, start time, seek step, disable pause, and pause other players on the page.
  • Size and shape: max width, max height and corner radius per player, with site-wide defaults.
  • Video SEO: VideoObject structured data for players that have a poster image.
  • Editor checks: warnings for broken links, a link that does not match the source, and a start time past the end.
  • One-click duplicate, and translation ready.

How it works

  1. Go to SmartVP Video Player Add New Player and pick a source.
  2. Upload an MP4 or paste a YouTube or Vimeo link, then adjust the player while the preview updates.
  3. Publish and copy the shortcode, for example [smart_video id="123"], into any post, page, widget or page builder that accepts shortcodes.

Performance and privacy

  • Player files load only on pages that show a player.
  • Plyr and every icon ship with the plugin; nothing is loaded from a CDN.
  • Videos preload only their metadata by default.
  • The plugin does not track visitors, sends nothing to its author, and shows no ads or upgrade notices in your dashboard.

Accessibility

  • Plyr’s keyboard-accessible controls, labelled play buttons, and captions output as real <track> elements.
  • The control bar editor works with the keyboard.
  • Visitors who turn on “reduce motion” in their system never get a video starting on its own as they scroll.

Optional add-ons

SmartVP Lite and Pro are separate plugins that add sources (Wistia, Streamable, HLS, DASH, private Amazon S3) and tools such as playlists, password protection, and hero, popup and sticky players. Everything described above works without them.

For developers

The player exposes PHP filters and a small JavaScript API (window.SmartVP) for adding sources, render modes and features from another plugin or theme. The full list is documented at the top of includes/extend.php.

External services

The plugin contacts the services below only when a player uses them. It sends nothing to the plugin author.

YouTube (Google)

Used when a player’s source is YouTube.

  • In the visitor’s browser: the YouTube embed (https://www.youtube.com/embed/…) and IFrame Player API (https://www.youtube.com/iframe_api) load when the visitor presses play, or when autoplay or play on scroll starts the video. The default poster comes from https://i.ytimg.com/. YouTube receives the video ID, your site’s address and normal browser data (IP address, user agent).
  • From your server: YouTube’s oEmbed endpoint (https://www.youtube.com/oembed) is asked for the video’s size. Only the video URL is sent; the answer is cached for a day.

YouTube Terms of Service and Google Privacy Policy.

Vimeo

Used when a player’s source is Vimeo.

  • In the visitor’s browser: the Vimeo player (https://player.vimeo.com/video/…, with Vimeo’s “do not track” option) and Player API (https://player.vimeo.com/api/player.js) load with the page that shows the player. Vimeo receives the video ID, your site’s address and normal browser data.
  • From your server: Vimeo’s oEmbed endpoint (https://vimeo.com/api/oembed.json) is asked for the thumbnail and size. Only the video URL is sent; the answer is cached for a day.

Vimeo Terms of Service and Privacy Policy.

Link check in the editor

While an editor types a video URL, the plugin can check from your server that the link answers: one small request, only for YouTube and Vimeo addresses, your own site, or links ending in a video file extension. Nothing else is sent. It runs only in wp-admin, for users who can upload files.

Third-party libraries

All bundled locally; nothing is loaded from a CDN.

  • Plyr 3.8.4 — MIT License. vendor/plyr/plyr.js is the unminified build of the plyr.min.js the plugin loads.
  • Codestar Framework 2.3.1 — GPLv2 or later. Used for the player settings and metabox screens; trimmed to the fields this plugin uses. Unminified sources are included next to the minified files.
  • Font Awesome 4.7.0 — fonts SIL OFL 1.1, CSS MIT. Section icons in the settings screens.

Screenshots

A self-hosted MP4 with captions and the settings menu: captions, quality and speed in one place.

A self-hosted MP4 with captions and the settings menu: captions, quality and speed in one place.

The player editor: pick a source and watch the live preview update as you edit.

The player editor: pick a source and watch the live preview update as you edit.

The control bar editor: drag the controls you want into place, in any order.

The control bar editor: drag the controls you want into place, in any order.

Behaviour settings: play on scroll with its threshold, muted start, loop, preload and start time.

Behaviour settings: play on scroll with its threshold, muted start, loop, preload and start time.

All players in one list, each with a ready-to-copy shortcode.

All players in one list, each with a ready-to-copy shortcode.

Site-wide defaults: pause other players, default aspect ratio and corner radius.

Site-wide defaults: pause other players, default aspect ratio and corner radius.

Plugin Details

Active Installs
0
Total Downloads
147
Version
1.1.0
Requires WP
6.0
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-10-12
Last Updated
2026-10-19 11:09pm GMT

Ratings

5
1
4
0
3
0
2
0
1
0