Designed with publishers of education and sports media in mind, JW Player 7.12.0 introduces a new configuration option to enable playback rate controls. 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 or to configure custom values between 0.25x and 4x. Developers can also use the new API getter, setter and event listener to control the playbackRate. Check out the creative possibilities in our demo. 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.
This release also includes native caption and subtitle support for casting. Be sure to check the full release notes below to review a variety of new methods, configuration options, and events that enhance the developer capabilities of using JW Player.
Release Date: February 28, 2018
Added support for the most recent Google Analytics embed type, gtag.js. Older types of embeds are still supported.
The player now marks events sent to Google Analytics nonInteraction: true if they were not manual viewer interactions. This enhancement increases bounce rate accuracy.
Fixed a bug causing in-manifest VTT captions to not render on iOS.
Release Date: November 2, 2017
Fixed an issue where some foreign language characters in embedded subtitle tracks weren't being decoded correctly.
Release Date: October 27, 2017
Fixed issues with playback pausing in Safari 11 when you click on the player.
Fixed an issue where seek events were not being fired in fullscreen on iOS devices.
Fixed an issue that paused VAST pre-rolls in click-to-play players in Safari 11.
Fixed an issue where some muted VAST ads and subsequent content started unmuted.
Fixed an issue where content might not start after certain VPAID ads were skipped
Release Date: September 14, 2017
Added support for Skippable Ads on iOS, with the caveat that ads cannot be displayed in the device's native fullscreen. Viewers encountering an ad in fullscreen will be forced out and will have to manually re-enter fullscreen. Note: there is a known issue with this functionality with IMA in Facebook webview that the IMA team has identified and is aiming to patch in an upcoming release.
Fixed an issue where 608/708 captions failed to render for DVR streams in Firefox.
Fixed an issue with IMA where the player might never go to content when the ad tag returned an error on iPhone.
Fixed an issue where VPAID ads might contribute to inconsistent mute behavior with the IMA plugin.
Release Date: August 18, 2017
Fixed an issue where live DVR streams would always play from the live edge after an ad break instead of resuming from the position the stream was at before ad playback.
Release Date: August 17, 2017
Fix an issue where a DASH stream with one captions track displayed two tracks, one of which did not work.
Fixed an issue where live DVR streams would play from the beginning after an ad break instead of resuming from the live edge.
Release Date: August 9, 2017
Fixed an issue where Akamai-hosted live streams would freeze mid-stream in Chrome.
Fixed an issue with VPAID tracking pixels not firing when the VPAID itself wasn’t firing them.
Fixed an issue with the IMA plugin where the adplay event would occasionally fire twice.
Release Date: July 27, 2017
Fixed an issue where PlayReady DRM does not work with Shaka 2.1.1+ in IE11.
Fixed a bug where vpaidcontrols: true does not show the control bar when hovering over the creative.
Release Date: July 12, 2017
Added clickThroughURL parameter to the adImpression event for the VAST plugin for parity with the IMA plugin.
Added config option custParams to the adBreak block for the VAST plugin for parity with the IMA plugin.
For the VAST plugin, updated the on(‘adSchedule’) event to display all schedules, not just schedules within a VMAP.
Updated the VAST plugin’s ad event order to be consistent with the IMA plugin and more representative of the VAST/VPAID specs.
Added support for the SpotX ad_mute=1 URL parameter with the IMA plugin.
Added support for VAST macros including [CACHEBUSTING], [ASSETURI], and [TIMESTAMP]
Fixed an issue where videos would start from the beginning when resuming playback after a midroll ad.
Fixed a bug causing duplicate captions cues to be displayed in HLS streams after a preroll or midroll ad.
Fixed an issue in Firefox where keyboard command shortcuts did not work.
Fixed an issue with the IMA plugin where setting up a player’s adschedule with a postroll before a preroll could cause video content to display before the preroll.
Fixed an issue where non-linear VPAIDs might be pushed off the bottom of the player view.
Fixed an issue where adtime event would fire before adimpression on iOS
Release Date: June 29, 2017
Added support for custom license request filters with DASH streams using Widevine or PlayReady.
Shaka provider has been updated to version 2.1.4.
Release Date: June 29, 2017
Added the playbackRateControls configuration option to enable the playback rate menu in the controlbar. This allows viewers to control the video’s playback speed. Publishers may use default or custom speed values. Read more in our Configuration Reference documentation. When playing HLS streams on Android Chrome or using Flash, the menu will be hidden due to unsupported functionality.
Added support for embedded and sideloaded VTT tracks in the default Chromecast receiver. Captions style configuration options are also applied to the receiver. VTT tracks must be loaded from the same domain as the media.
Set the <video> element’s title attribute so that the media title displays on iOS and Android lock screens during playback.
Updated 403 error copy to “You do not have permission to access this content.”
Exposed the PROGRAM-DATE-TIME from HLS manifests in the meta event.
Improved manual quality switching in DASH streams so that when a viewer chooses a higher quality, the switch happens immediately. If the viewer chooses a lower quality, the existing buffer is played, then the quality switch occurs.
Added a new API method, setConfig, to set multiple properties at once. The following properties are supported: repeat, autostart, mute, and volume.
Added HLSjs debug output to the player’s debug logs. This is automatically enabled when jwplayer.debug = true.
Added the viewable event, making it easier to control the user experience based on the player’s visibility. Previously, developers had to rely on the viewable property in other events (eg. time, play) to know when the players is above the fold in the active tab.
Expanded HLS.js usage to Edge. This significantly improves the viewing experience over the native playback of HLS streams. Users can expect to see a reduction in artifacts, better captions display, and support for captions styling.
Improved the user experience of the sharing overlay. It’s now less intrusive at larger player sizes, allowing playback to continue while the viewer makes a selection from the newly redesigned sharing menu.
Added support for multi-track captions in DASH streams, allowing viewers to select any of the captions tracks specified in a DASH manifest.
Updated the adError event to note not just the original tag supplied to the player, but all tags in a wrapped ad chain including the creative that errored
Updated the handling of the creativeTimeout config option to address all mediafiles, not just VPAIDs
Improved mapping of FreeWheel AdManager events to JW Player events
Added a configuration option to allow a publisher to supply their own FreeWheel AdManager URL
Fixed a problem where 360 video HLS streams did not upshift in quality.
Fixed a bug that caused an error in Chrome when DASH streams contained embedded VTT files larger * than 125 KB.
Fixed a bug that caused an error in Safari when resize() is called without specifying width and height.
Cleaned up console logging in the VAST plugin for certain JS VPAID events
Added extra logic to prevent ads from playing over content with IMA, specifically when an autostart player is launched in a non-active browser tab