Easily embed HTML5 videos from the Media Library into posts and pages.
Make your media managers happy with this simple WordPress plugin from Cremalab. No longer will you (or they) need to rely on Vimeo, Youtube or any pricey video hosting service to deliver videos to your audience. Simply upload the correct HTML5 videos to your Media Library, then embed them into your pages easily using the WordPress editor. This plugin is different from other similar plugins because this writes the shortcodes for you!
This small plugin seeks to fulfill these three major needs:
1. Embed videos from the Media Library without relying on a third-party hosting service
2. Embed the videos using HTML5 video tags with a Flash fallback for older browsers
3. Make it easy – no need to write long short codes
This plugin is built on the videojs javascript library which detects browser capability and provides flash fallback for older browsers and to provide the controls styling. All current browsers and most mobile browsers already support HTML5 video tags, so they will receive native HTML videos without any third-party plugins. Browsers that do not support HTML5 videos will be shown a Flash version.
In three steps, you can be hosting your own videos:
1. Convert your videos to HTML5 formats (we like the Miro Video Converter for this job).
2. Upload all three formats to your Media Libary in WordPress
3. Embed the videos using the HTML5 Videos plugin
Most other plugins make you write your the shortcode to embed the video. HTML5 Videos makes this easier by allowing you to select the videos from the Media Library, set some options, and then insert the shortcode.
WordPress has a file upload size limit of 2-8MB by default on most hosts. This will probably need to be increased if you are uploading longer (or HD) videos. Instructions on manually increasing the upload limit will vary by host. You should contact your host for instructions, if none of these options help you.
HTML5 Videos will only embed what you tell it to embed. If you don’t have a .webm (.mp4, .ogv) video, then it will not let you choose to embed one. Current browser support for the video formats can be found here.
The shortcode is generated automatically, but if you need to change anything, here is the shortcode format:
[video mp4 webm ogg poster width height preload autoplay setup]
The “video” element is required (that’s what makes this work), but everything else is optional. The mp4, webm, ogg and poster elements will be fully-qualified paths to the appropriate resource on your server (ie: http://somedomain.com/wp-content/uploads/bigbunny.mp4). The preload should be set to “none”, “metadata”, or “auto”. Alternatively, you can specify “true” for “auto” or “false” for “none” and the autoplay attribute should be either “autoplay” or should be omitted entirely. This is the way VideoJs requires these attributes to be set.
The “setup” attribute should be unchecked (or set to “manual”) if you will be programmatically interacting with the videos after the DOM has loaded. For instance, if you are using the video in a modal that is created after the page loads, then set this value to “manual”. See the VideoJs API documentation for instructions on how to interact with the video. Each video on the page has a unique ID. Inspect the page to get the ID for each video to be used in your API calls.
By default, the plugin sets up the necessary javascript to make the player work. If you want to customize this (ie: you want to hide the video div on page load, and play the video in a popup modal sometime after page load), you must set the “setup” option to “Manual” (uncheck the “Automatically Setup Video” box), and then refer to the VideoJs API page for instructions on firing the video. Each video you embed into the page will have a random unique ID. You’ll need to inspect the video element to get this ID. Then you can reference the video id’s to play the video.