HTML video player comparison: Fluid Player vs. MediaElement.js

If your website runs on WordPress, there is a good chance your videos already play in MediaElement.js. It is the player built into WordPress: whenever you add a video block, MediaElement.js shows it, even if you never chose it. It is free, open source and does the basics well. But is it enough if you want to earn revenue from your videos?
In this new edition of our comparison series, after Video.js, JW Player and Flowplayer, we compare it with Fluid Player, the free and open source HTML5 video player built for publishers. We have compared the latest versions of both players: Fluid Player 3.61 and MediaElement.js 7.1.
Feature comparison
| Feature | Fluid Player | MediaElement.js |
|---|---|---|
| Video ads | ||
| VAST video ads | Yes | Partly |
| Pre-roll, mid-roll and post-roll | Yes | Partly |
| In-video and on-pause banners | Yes | No |
| VPAID ads | Yes | Partly |
| VAST wrappers and fallback ad tags | Yes | No |
| Streaming and playback | ||
| HLS and DASH streaming | Yes | Yes |
| Live streaming | Yes | Yes |
| VR and 360° video | Yes | Partly |
| Subtitles and captions | Yes | Yes |
| Suggested videos at the end | Yes | No |
| Player features | ||
| Timeline thumbnail previews | Yes | No |
| Mini player or picture-in-picture | Yes | Partly |
| Keyboard shortcuts | Yes | Yes |
| Remembers viewer settings | Yes | No |
| Interface translations | Partly | Yes |
| Casting (AirPlay, Chromecast) | No | Partly |
| Setup and support | ||
| Free and open source | Yes | Yes |
| All features in one script, no plugins | Yes | No |
| Visual player builder | Yes | No |
| Up-to-date version on WordPress | Yes | No |
| Regular releases | Yes | Partly |
The amber marks for MediaElement.js mean the feature needs a separate plugin, and most of these plugins haven’t been updated in years. Its ads plugins, for example, only play pre-roll video ads, and their VAST and VPAID code hasn’t changed since 2017. Its VR plugin relies on a Google tool that hasn’t been maintained since 2018.
Both players are free and open source, under the same MIT license. The big difference is video monetization: Fluid Player has complete, up-to-date VAST ad support built in, while MediaElement.js only offers basic pre-roll ads through old plugins. Fluid Player also comes with more ready-to-use features, such as timeline previews, suggested videos and remembered viewer settings, all in one script.
Fluid Player: open source and ready for video ads
Fluid Player is a lightweight HTML5 video player built for publishers who want to show and monetize video. It is free and open source under the MIT license, with its code public on GitHub (opens in a new tab), and new versions come out regularly. Load it from our own CDN, install it with npm or host the files yourself.
Ready to use, easy to make your own
Fluid Player looks good with its default settings, and everything it can do is in a single script, so you can start publishing videos with a few lines of code:
<script src="https://cdn.fluidplayer.com/v3/current/fluidplayer.min.js"></script>
<video id="my-video">
<source src="my-video.mp4" type="video/mp4">
</video>
<script>
fluidPlayer('my-video');
</script>
To match your brand, simple settings let you change the color of the controls, add your logo and a poster image, choose which buttons to show, add timeline thumbnail previews, enable theater mode or the mini player, customize the keyboard shortcuts and much more. You don’t need to be a developer: the Player Builder on our homepage lets you try every setting on a live player, then copy the code.
On WordPress too
You don’t have to keep the player WordPress gives you. Fluid Player has a WordPress plugin (opens in a new tab) that lets you show your videos in Fluid Player, with all of its features and video ads, on any WordPress site.
Video ads with any ad network
Fluid Player supports VAST, the Interactive Advertising Bureau (IAB) (opens in a new tab) standard that ad servers use to deliver video ads, out of the box. It works with any ad network, ad exchange or video ad server, and you keep all of your ad revenue:
- several ads per video: pre-roll, mid-roll and post-roll;
- linear (video) ads, with a skip button and a call to action;
- non-linear ads: image banners (GIF, JPEG or PNG) shown over the video;
- your own HTML banner when the viewer pauses the video;
- VAST wrappers, ad pods and fallback ad tags;
- VPAID 2.0 ads, switched on with one option.
Adding an ad takes one setting:
fluidPlayer('my-video', {
vastOptions: {
adList: [
{ roll: 'preRoll', vastTag: 'https://example.com/your-vast-tag.xml' }
]
}
});
Streaming, subtitles and VR
Fluid Player plays MP4 and WebM files and HLS and DASH streams, including live streams. Subtitles use WebVTT, the most widely used caption format on the web. Fluid Player also plays 360° videos, with a Cardboard view for VR headsets. At the end of a video, you can show suggested videos to keep viewers watching, and the player remembers each viewer’s volume, speed and quality for their next visit.
Documentation and support
Every option is explained in the Fluid Player documentation (opens in a new tab), with guides for React, Vue, Angular and WordPress. Have a question or found a problem? Open an issue on GitHub (opens in a new tab): the Fluid Player team reads and answers them, for free, and fixes land in regular releases.
MediaElement.js: the default WordPress player
MediaElement.js (opens in a new tab) has been around for well over a decade. It was created to give every browser the same HTML5 player, at a time when many still needed Flash, and it became part of WordPress, which made it one of the most widely used video players on the web.
What MediaElement.js does well
- Already there on WordPress: nothing to install, it works with the standard video block.
- Lightweight and familiar: a simple player with a clean look that visitors recognize.
- Many sources: besides MP4, HLS and DASH, it can play YouTube, Vimeo, Facebook, Twitch, SoundCloud and Dailymotion videos.
- Translated interface: it ships in 24 languages.
- A plugin collection: playlists, a quality selector, speed controls, Chromecast, AirPlay and more.
What to keep in mind
- WordPress uses an old version: WordPress still ships a MediaElement.js version from 2021, which depends on jQuery. A proposal to update it has been waiting since 2024.
- Basic ads only: the ads plugins play pre-roll video ads only, with no mid-roll, post-roll, banners or VAST wrappers, and they haven’t been updated since 2017.
- Plugins for most features: ads, playlists, casting and picture-in-picture each need their own plugin, and many of these plugins haven’t changed in years.
- Fewer player features: there are no timeline thumbnail previews, no suggested videos, and viewer settings such as volume aren’t remembered.
- Slow releases: the latest version came out in November 2025, almost a year after the one before it, and more than 200 issues are open on GitHub.
Conclusion: which player should you choose?
Choose Fluid Player if you want to monetize your videos, on WordPress or anywhere else. VAST and VPAID ads, banners, streaming, VR and suggested videos are all built in, it is free and open source, and our team answers your questions on GitHub.
Keep MediaElement.js if you only need a simple player for a few videos on a WordPress site, without ads, and you are happy with what WordPress gives you by default.
For publishers who want a modern, open source player that earns revenue from day one, Fluid Player is the smart upgrade from the default WordPress player. Try it in the Player Builder and see your player take shape in a few clicks.


