Cool for the Summer: Chromeless Player, Playback Rate Controls, and More

Jun 21, 2017


Despite the distractions of warmer temperatures and cloudless skies here in New York City, JW Player HQ has been buzzing with activity as we released features to keep up with our customers’ growing businesses! Our last product update celebrated JW 7.9 and TV casting, and today we’ll touch upon some of the highlights from releases 7.10, 7.11, and 7.12.

New Viewability API

In JW 7.10.1 , we added viewability information to all events coming from the player API. Throughout our viewability API , “0” is used when less than 50% of the player is visible in the viewport, and “1” if the player is greater than or equal to 50% viewable.

There are numerous benefits to reserving player events for when the viewer can actually see the video. Perhaps most importantly from a revenue generation standpoint, advertisers revere qualified impressions with engaged viewers, and one of the best ways to ensure a viewer is actually watching an ad is to defer playback until the player is in the viewport. We added a configuration option, “autostart”: “viewable”, which starts playback on desktop devices when the player is more than 50% in view, rather than on page load. On mobile, autostart only works when the player is in view and the sound is muted.

Publishers will also see their data usage conserved, as it’s possible to delay data transfer until the moment when the player is in sight. Last but not least, we know that viewers quickly grow confused and frustrated when they are able to hear sound coming from videos they can’t yet see. The getViewable() method will return either a 0 or a 1 and can be used to get the viewability of the player, and with the release of JW 7.12 , you can now use on(‘viewable’) to trigger other events when the player is either visible or out of view.

Dynamically Update Configuration

In 7.12, it’s possible to update configuration settings after the player has already set up. One great use of this functionality, which we heard about from one of our customers, is playing a funny looping video when a viewer experiences a fatal playback error. Instead of seeing a static error screen, the publisher replaces the media file with the error video, and sets repeat to “true.” You can achieve this with the setConfig() method to set multiple properties at once. Repeat, autostart, mute, and volume settings are currently supported.

A Truly Chromeless Player

We’ve long-supported hiding the entire JW Player user interface through the configuration option “controls: false”. This allows publishers to get creative and build their own user interface controls using only our API.

But there was one small problem — 86kb worth to be exact: if you’re not using the controls, you don’t need that javascript to load along with your player setup. JW 7.11 achieved exactly that; we removed controls from the core player file and don’t serve them with the embed if controls are off. With the savings, the player now loads even faster in chromeless mode.

Playing, Fast and Slow

JW Player 7.12 introduces a new configuration option to enable playback rate controls. This feature was designed with two types of publishers in mind: education — whose viewers might want to speed up a lecture — and sports media — whose users could savor a great play by slowing a video down.

When enabled, a tooltip menu in the control bar gives viewers the ability to control the playback speed of the video. Publishers can choose to show our pre-set rates (which are 0.5x, 1x, 1.25x, 1.5x, and 2x) or to configure the menu with custom values between 0.25x and 4x. Check out our Configuration Reference documentation to see how to configure it in your player setup.

Developers can also use the new API getter, setter and event listeners to control the playback rate. We’ve created an awesome playbackRate demo to show how publishers can use the API to create slow motion video playback without editing the original media. The demo shows a clip of a snowboarding competition where at 0:19, after a particularly awesome trick on the half-pipe, it seeks back to the beginning of the action, plays it back at 0.5x, and then continues playing at 1x after.

Please note that manipulating the playback rate requires the presence of a video element and, as such, is not supported when the Flash provider is being used for playback.

What’s Next

JW Player 8.0 is coming this fall, which will bring our fastest and most useable player yet! If you’re eager for a sneak peek, we previewed our forthcoming user interface redesign at JW Insights in May. You can watch the recording on JW Player TV . If you would like an early look under the hood of JW8 and to test new features, sign up here .

As always, we love to hear your feedback. You can email or tweet us @JWReleases . From all of us on the Player product and engineering team, we wish you a happy summer. We can’t wait to show you all that’s in store later this year!