Browser & Device Reference
This article lists which browsers and devices are officially supported by JW Player, including any existing limitations and differences between desktop and mobile.
Table Of Contents
Nowadays, new versions of browsers are frequently released. We always test the most widely distributed one(s).
This table lists which desktop browsers are fully supported by JW Player:
|Internet Explorer 9+||yes1||yes|
1Flash will be used on IE9 for rendering all video
All JW Player features are supported on these browsers, with the exception of media playback. In a nutshell, not all browsers support WebM video and Vorbis audio. See Supported Media Formats for details.
Due to the speed of adoption of mobile operating systems, we fully test and support the latest versions on the most popular devices. This table lists which mobile browsers are officially supported by JW Player using HTML5:
|Safari on iPhone||iOS 8+||iPhone 4s through current|
|Safari on iPad||iOS 8+||iPad 2 through current|
|Chrome on Android||Android 4.0+||Any running Android 4.0|
For a list of stats of device and operating system adoption, view these MixPanel trends.
As with desktop browsers, playback support for the various media formats varies. In a nutshell, MP4 video and AAC/MP3 audio are safe formats for mobile. See Supported Media Formats for more details.
There are limitations to video playback on mobile devices compared to desktop browsers:
- Auto-starting a video on page load is not possible on mobile.
- Playing multiple videos at the same time is not possible on mobile.
- JW Player will not work with Flash for Android.
- Changing the mute state and volume is not possible on mobile.
- On iPhone only, video is only played in fullscreen mode. On iPad and Android, video can be played either windowed or in fullscreen.
Previously, with JW6, JW Player would render in either Flash or HTML5 and could not be changed unless it was set up again with the appropriate primary rendering mode set.
While JW7's control bar will always be rendered in HTML5 via CSS, the player will dynamically load an appropriate Flash or HTML provider based on the media that is loaded. This allows JW Player to dynamically change from HTML5 to Flash playback on a per-playlist-item basis. As a result, there is now a more unified and simpler method of API handling, as well as speedier setup and playback.
As with JW6, all features of JW Player (playlists, skinning, scripting, API, etc.) are available in both provider modes. Whether JW Player uses a Flash or HTML5-based provider is therefore dependent upon the media that is loaded. See Supported Media Formats for details. Here's a quick overview:
- DASH can only be played in HTML5. See About Dash Streaming for more info.
- MP4, AAC, MP3, and HLS can be played in both HTML5 and Flash.
- WebM and Vorbis can only be played in HTML5 in some browsers.
- FLV and RTMP can only be played in Flash.
At large, the market is moving away from Flash towards HTML5. Therefore, JW Player will always attempt to use HTML5 over Flash if a piece of content can be played in both modes on a certain browser. This behavior can be changed however, by setting the configuration option primary to flash. In this case, JW Player's Flash provider will attempt to be used for all content.See the Configuration Options Reference for more info.
If an embed contains multiple media sources, at the time of playback, JW Player will determine if it is playable in HTML5 or playable in Flash. The appropriate provider will then load. As an example:
- With a setup containing DASH + HLS sources and HTML5 primary, JW Player plays DASH in HTML5 on Chrome/IE 11+, and the HLS stream in Flash on Firefox.
- With a setup containing HLS + DASH sources and HTML5 primary, JW Player plays HLS in HTML5 on Safari and DASH in HTML5 on Chrome/IE 11+ and HLS in Flash on Firefox.
- With a setup containing HLS + DASH sources and Flash primary, JW Player plays HLS in Flash on Chrome, Firefox and Safari. DASH will only be used if a user's computer does not have Flash installed and if the browser supports it.
See the Configuring Multiple Sources article to learn how to set up multiple sources.