Finding a Video Player That Works for You and Your Budget
Most of the current production releases of OTS players by vendors discussed in this article no longer implement a Flash fallback strategy; all rendering of video is handled via native browser APIs. If your target deployments require legacy browsers that don’t include modern HTML5 APIs, you will likely need a player (or player release version) that is capable of Flash rendering. The days of Flash-based playback are numbered, though, as Adobe has announced that it will sunset Flash Player development in 2020.
Skinning the Player
Players may also use a separate skin file to specify the controls that are shown and the graphic files (PNG, JPEG, SVG) used for controls and overlays. The most important aspect of skinning is its responsiveness, or how the skinning model translates across all of the rendering modes of the player. The default OTS player skins are shown in Figures 3 to 8.
Note: older smartphone browsers may not allow a custom player skin to be used, as video does not play “inline” on the page as it would on a desktop browser. Rather, the video opens full screen on the smartphone device, and the smartphone browser renders the control layer.
JW Player skin
Cloud Vs. Self-Hosted Code
Why is the distinction between cloud or self-hosted player code important? The primary benefit to hosting all of the player files on your own site is that you
can be assured that the player will work as expected after you’ve integrated the player and tested the site on your target browsers. However, if a new browser release or update suddenly breaks the player code, it’s beholden on you to grab any updates to the player source code and fix your site. Alternatively, if you employ a cloud-hosted player, you will benefit from any updates and revisions to the player, which will automatically be inherited in your implementation. It’s true as well that such revisions could potentially break any customisations you’ve made. Either way, you will want to keep abreast of any player changes announced by the OTS player vendor you’ve selected.
Note: if your job is to deploy a selected OTS player across multiple sites and businesses, you may very well want to use a cloud-hosted version of an OTS player or create your own shared public URL for the player code you use. In this way, you can more easily maintain player code across a large number of sites.
Part of the WordPress core codebase, MediaElement.js is a popular open source video player, at version 4.2.9 as of this writing, started by John Dyer (@johndyer). This player’s code has been compartmentalised, available as a unified API to audio and video elements or to a player-controller user interface, as well as an “all-in-one” API with controller.
For standard HTTP delivery (range request or progressive download), MediaElement.js can cover nearly every mobile and desktop target. MediaElement.js also offers support for a <track> tag to provide captions. For live streaming content, you can use RTMP (via Flash renderer), HLS, or DASH.
Originally developed by Steve Heffernan (@heff), the co-founder of Zencoder.com, Video.js is an open source video player that provides a quick and easy way to deploy video content via its cloud-hosted player codebase and CSS styles. Brightcove now maintains the core development of the player, while other contributors develop additional plugins for the player.
You can customise a player with a code editor at go2sm.com/jscode. The player is also available as a WordPress plugin. The player supports a wide range of options, from closed captions and subtitles to chapters. The 7.1.0 release supports dozens of plugins that enhance its capabilities. I’m incredibly im-
Bitmovin offers a free trial account that can be used for up to 5,000 player impressions per month. Subscriptions start at $139/month, and surprisingly, the offering has fixed (and public!) pricing for up to 1.75 million player monthly impressions at $1,299/month.
Flowplayer shares many characteristics with JW Player. Flowplayer originally started as a Flash video player, but it has had an HTML5 version of the product for several years. One of the interesting features I’ve found is the “splash” setup, which enables the player to only display the poster frame and not fully initialise the HTML5 or Flash rendering mode. I find this mode useful for players who use time-stamped secure signed URLs with a CDN such as Amazon CloudFront. You can then generate the video URL(s) when the user initiates playback. There is a commercial licence required, starting with a one-time fee of $150 or with a monthly subscription licence.
By far one of the most popular video players since the advent of Flash video, JW Player is perhaps the most widely used OTS player. The JW stands for Jeroen Wijering (@jeroenw), the creator of the player. Now in its eighth major release, JW Player showcases its Flash roots by enabling a powerful set of features in HTML5. As a media server developer, I’m a big fan of JW Player’s support of adaptive streaming manifest support. It can ingest live and VOD streams in adaptive HLS or DASH. (Adaptive RTMP is still available in 7.x or earlier releases.)
Unlike the free or open source OTS players discussed here, JW Player requires a subscription licence. A limited starter licence is available for $5/month, but most businesses can expect to pay $50/month. Enterprise pricing is available for businesses requiring ad integration and high-volume playback.
THEOplayer narrowly missed my original review, as its offering was fairly new to the scene in 2014. Fast-forward to 2018, and THEOplayer has steadily added more features and
capabilities to its player offering. Originally touted as an optimised HLS player that could parse and render HLS on browsers that didn’t offer native HLS playback, THEOplayer can now render HLS and DASH, as well as low-latency CMAF. Its R&D investment into HLS and DASH strategies is revealed by the wide browser support, which can be viewed at go2 sm.com/theosupport.
THEOplayer’s staff sent me a bundle of configuration files to test its player, with all of the core features enabled. Within a few minutes, I was able to configure an HLS video source. THEOplayer also offers a free tier—you can use THEOplayer for up to 10,000 player impressions a month. Beyond that, you will need to discuss your deployment with the sales staff. (Remember the talking points I mentioned earlier.)
Any of these players provide a working solution to a wide range of online video content. Compared to 2014, the differences between player offerings in 2018 are much less significant. Most commercial player vendors now offer a suite of tools to accompany their player technology, ranging from analytics to optimised video encoding. Every project has a unique set of priorities and constraints, but with so many OTS player options, you will likely find one to meet your needs. Before you begin to compare your options, clarify the four primary questions of content, features, pipeline, and business. As more content and playback are managed by “embedded” player offerings from Vimeo and YouTube, you may reconsider the need for customised players and self-managed video catalogues. If you need to have more ownership of your video solution— for branding, security, or other reasons—you might find it useful to start with one of the OTS players described here.
[This article appears in the Winter 2018 issue of Streaming Media Magazine European Edition as "Finding a Video Player That Works for You and Your Budget."]