Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mediaelement

Package Overview
Dependencies
Maintainers
2
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mediaelement

One file. Any browser. Same UI.

  • 3.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8.8K
decreased by-16.35%
Maintainers
2
Weekly downloads
 
Created
Source

MediaElement.js: <video> and <audio> made easy.

One file. Any browser. Same UI.

  • Author: John Dyer http://j.hn/
  • Website: http://mediaelementjs.com/
  • License: MIT
  • Meaning: Use everywhere, keep copyright, it'd be swell if you'd link back here.
  • Thanks: my employer, Dallas Theological Seminary
  • Contributors: all contributors
  • Currently maintained by Rafael Miranda (@ron666)

GitHub Version Build Status Coverage Status MIT License

Table of Contents

Introduction

MediaElementPlayer: HTML5 <video> and <audio> player

A complete HTML/CSS audio/video player built on top MediaElement.js and jQuery. Many great HTML5 players have a completely separate Flash UI in fallback mode, but MediaElementPlayer.js uses the same HTML/CSS for all players.

MediaElement.js is a set of custom Flash plugins that mimic the HTML5 MediaElement API for browsers that don't support HTML5 or don't support the media codecs you're using. Instead of using Flash as a fallback, Flash is used to make the browser seem HTML5 compliant and enable codecs like H.264 (via Flash) on all browsers.

* What's New on MediaElement.js version 3.0

  • Introduction of Renderers, pluggable code that allows the introduction of new media formats in an easier way.

  • Refactor code in ES2015 notation and added Travis CI and Coveralls support

  • Ability to play Facebook, SoundCloud, M(PEG)-DASH using dash.js for native support and dash.as for Flash fallback.

  • Code completely documented using JSDoc notation.

  • Updated styles for control bar.

  • Introduction of BEM naming convention for player classes, and backward compatibility with "legacy" stylesheet.

  • Addition of native HLS using hls.js library.

  • Updated player for Vimeo by removing the use of Froogaloop and integrating the new Player API.

  • Removed Silverlight shim, as well as IE8 and older browsers support.

  • Integration of JSLint to ensure code quality and better error checking for development.

For more information, please consult Change Log

* IMPORTANT: Migrating from 2.x to 3.x version

In order to successfully install 3.x in an existing setup, you must consider the following guidelines:

  1. If your installation relies on the legacy player classes (i.e., mejs-player, mejs-container, etc.), you must set up the proper namespace. In 2.x, the default namespace is mejs- but now is mejs__. In order to set up a new namespace (or the legacy one), use the classPrefix configuration, and make sure you use the mediaelementplayer-legacy stylesheet provided in the /build/ folder.

  2. You must set up now the path for the Flash shims if they are not in the same folder as the JS files. To do this, set the path via the pluginPath configuration. In the same topic, if you need to support browsers with Javascript disabled, you must reference the correct Flash shim, since in 2.x there was only a single Flash shim and in 3.x it was split to target specific media types. Check the Browsers with JavaScript disabled section for more details.

  3. If you need to force the Flash shim, the way to do it in 3.x version is to use the renderers configuration and list them in an array.

  4. pluginType was removed to favor rendererName. If you rely on that element, just create conditionals based on the renderer ID (all listed here). For example:

$('video, audio').mediaelementplayer({
        // Configuration
        success: function(media) {
                var isNative = media.rendererName.match(/html5|native/);
                
                var isYoutube = media.rendererName.match(/youtube/);
                
                // etc.
        }
});

It is strongly recommended to read the documentation to get the most out of this package. Visit here to start.

Browser and Device support

In general, MediaElement supports IE9+, MS Edge, Chrome, Firefox, Safari, iOS 8+ and Android 4.0+.

FormatMIME TypeSupport
mp4video/mp4, audio/mp4, audio/mpegPlease visit http://caniuse.com/#feat=mpeg4 for comprehensive information
webmvideo/webmPlease visit http://caniuse.com/#feat=webm for comprehensive information
mp3audio/mp3Please visit http://caniuse.com/#feat=mp3 for comprehensive information
ogg/ogvaudio/ogg, audio/oga, video/oggPlease visit http://caniuse.com/#search=ogg for comprehensive information
wavaudio/wav, audio/x-wav, audio/wave, audio/x-pn-wavPlease visit http://caniuse.com/#feat=wav for comprehensive information
m3u8application/x-mpegURL, vnd.apple.mpegURL, audio/mpegURL, audio/hls, video/hlsSafari and iOS (native); browsers that support MSE through hls.js library; rest of the browsers that support Flash (version 10 or later)
mpdapplication/dash+xmlBrowsers that support MSE through dash.js library; rest of the browsers that support Flash (version 10 or later)
flvvideo/flvBrowsers that support MSE through flv.js library; rest of the browsers that support Flash (version 10 or later)
rtmpvideo/mp4, video/rtmp, audio/rtmp, rtmp/mp4, audio/mp4All browsers that support Flash (version 10 or later)
youtubevideo/youtube, video/x-youtubeAll browsers that support window.postMessage; Flash deprecated.
vimeovideo/vimeo, video/x-vimeoAll browsers that support iframe tag and HTML5
facebookvideo/facebook, video/x-facebookAll browsers that support iframe tag and HTML5
dailymotionvideo/dailymotion, video/x-dailymotionAll browsers that support iframe tag and HTML5
soundcloudvideo/soundcloud, video/x-soundcloudAll browsers that support iframe tag and HTML5

Notes

  • Support for wmv and wma has been dropped since most of the major players are not supporting it as well.
  • ogg formats won’t play consistently in all browsers so it is strongly recommended a MP3 fallback for audio, or MP4 for video.
  • wav formats will only play on Browsers that support it natively since there is currently no Flash fallback to allow them to play in other browsers.

Installation and Usage

The full documentation on how to install MediaElement.js is available at Installation.

A brief guide on how to create and use instances of MediaElement available at Usage.

API and Configuration

MediaElement.js has many options that you can take advantage from. Visit API and Configuration for more details.

Guidelines for Contributors

If you want to contribute to improve this package, please read Guidelines.

Change Log

Changes available at Change Log

TODO list

IMPORTANT: Before posting an issue, it is strongly encouraged to read the whole documentation since it covers the majority of scenarios exposed in prior issues.

New features and pending bugs can be found at TODO list.

FAQs

Package last updated on 16 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc