Order Now AdSolution Sign Up | Login » Bits on the Run Sign Up | Login »

Supported Video and Audio Formats

Purpose

This guide lists the audio and video file formats the JW Player supports, including compatibility tables for common browsers and devices.

Contents

Introduction

The JW Player supports a range of file formats for playback of video and audio on your website. However, the JW Player does not decode audio or video itself. Instead, it relies upon underlying media frameworks. This framework can be the browser (in HTML5 mode), the Flash plugin (in Flash mode) or the system's built-in media player (in Download mode).

By default, the JW Player will figure out which rendering mode to use on which browser/device for your files. However, you can override this, e.g. by disabling a rendering mode. You may then break playback of your files on a certain device. To assist, we've listed, in the table below, the most common browsers/devices and which file formats they each support.

The JW Player tries to recognize a file format by its extension (listed below for each format). If the extension of your media file is not recognized, the player will presume you want to load a playlist! If you know your file can be played by JW Player, you can force its type to e.g. video.

Video Formats

The JW Player supports video in the formats listed below, with file extensions listed between braces. Please note that if a format is not on the list (e.g. WMV or AVI), the JW Player does not support it.

MP4 ( .mp4, .m4v, .f4v, .mov )

Files in the MP4 container format, containing video encoded with the H.264 codec and audio encoded with the AAC codec. This is today's format of choice, supporting the best video quality and hardware accelerated playback on a wide range of browsers and devices:

Internet Explorer 6/7/8Flash mode
FirefoxFlash mode (not in HTML5)
ChromeFlash, HTML5 modes
Internet Explorer 9Flash, HTML5 modes
SafariFlash, HTML5 modes
OperaFlash mode (not in HTML5)
iOS (iPad/iPhone)HTML5, Download modes
AndroidFlash, HTML5, Download modes
BlackBerryDownload mode

If you having troubling seeking within an MP4 file before it completely downloads, the cause of your problem is that the so-called MOOV atom (which contains the seeking information) is located at the end of your video. Check out this little application to parse your videos and fix it.

WebM ( .webm )

Files in the WebM container format, containing VP8 encoded video and Vorbis encoded audio. This format is brand new and of comparable quality to MP4. WebM is a royalty free format for HTML5 video. Since there are no hardware decoders yet, mobile devices don't support it:

Internet Explorer 6/7/8Not supported
FirefoxHTML5 mode
ChromeHTML5 mode
Internet Explorer 9Not supported (also not in HTML5)
SafariNot supported (also not in HTML5)
OperaHTML5 mode
iOS (iPad/iPhone)Not supported
AndroidNot supported
BlackBerryNot supported

Both H.264 and AAC support different profiles, different levels of sophistication for encoding the video or audio. We strongly recommend you use the most basic profiles when encoding your content, since these allow for maximum compatibility with older iPhone, Android and BlackBerry devices:

If the player refuses to play your WebM files, but you are able to download the files from your server, the WebM mimetype is likely set incorrect. The mimetype must be set to video/webm, or HTML5 browsers refuse to play the files.

FLV ( .flv )

Files in the Flash Video container, containing video encoded with either the VP6 or Sorenson Spark codec and audio encoded with the MP3 codec. FLV is an outdated format, inferior in quality to MP4 or WebM. It is also unique to Flash, hence it can only be supported in Flash mode:

Internet Explorer 6/7/8Flash mode
FirefoxFlash mode
ChromeFlash mode
Internet Explorer 9Flash mode
SafariFlash mode
OperaFlash mode
iOS (iPad/iPhone)Not supported
AndroidFlash mode
BlackBerryNot supported

If the progress bar isn’t running with your FLV file, or if your video dimensions are wrong, your FLV file most likely doesn’t have metadata. Fix this by using the small tool from buraks.com.

OGG ( .ogv )

Files in the OGG container format, containing Theora encoded video and Vorbis encoded audio. OGG is an outdated format, inferior in quality to MP4 or WebM. Before the release of WebM, Ogg was the only royalty free option for HTML5:

Internet Explorer 6/7/8Not supported
FirefoxHTML5 mode
ChromeHTML5 mode
Internet Explorer 9Not supported (also not in HTML5)
SafariNot supported (also not in HTML5)
OperaHTML5 mode
iOS (iPad/iPhone)Not supported
AndroidNot supported
BlackBerryNot supported

If you're contemplating encoding video in OGG for HTML5 support, we strongly recommend you use WebM instead. Firefox 3.6 is the only browser with market share that can play OGG and not WebM, but its share is in rapid decline.

Audio Formats

The JW Player supports audio in the formats listed below, with file extensions listed between braces. If a format is not in the list (e.g. WMA or WAV), the JW Player does not support it.

AAC ( .aac, .m4a, .f4a )

Audio encoded with the AAC codec. Files can contain just the raw AAC data, or the AAC can be stored inside an MP4 container. AAC produces high quality files and is widely supported:

Internet Explorer 6/7/8Flash mode
FirefoxFlash mode
ChromeFlash, HTML5 modes
Internet Explorer 9Flash, HTML5 modes
SafariFlash, HTML5 modes
OperaFlash mode
iOS (iPad/iPhone)HTML5, Download modes
AndroidFlash, HTML5, Download modes
BlackBerryDownload mode

Vorbis ( .ogg, .oga )

Audio in the OGG container format containing Vorbis encoded audio. The Vorbis codec is royalty-free, maintained by the Xiph foundation and of high quality (similar to AAC). Both "open" HTML5 browsers and various mobile devices support the codec:

Internet Explorer 6/7/8Not supported
FirefoxHTML5 mode
ChromeHTML5 mode
Internet Explorer 9Not supported
SafariNot supported
OperaHTML5 mode
iOS (iPad/iPhone)Not supported
AndroidHTML5, Download modes
BlackBerryDownload mode

MP3 ( .mp3 )

Audio encoded with the MP3 codec. Though not as good in quality as AAC or Vorbis, MP3 is very widely used. It is also supported by just about any device that can play audio:

Internet Explorer 6/7/8Flash mode
FirefoxFlash mode
ChromeFlash, HTML5 modes
Internet Explorer 9Flash, HTML5 modes
SafariFlash, HTML5 modes
OperaFlash mode
iOS (iPad/iPhone)HTML5, Download modes
AndroidFlash, HTML5, Download modes
BlackBerryDownload mode

If you encounter a playback that is either too fast or too slow for MP3 files in Flash mode, it contains variable bitrate encoding or unsupported sample frequencies (eg 48Khz). We recommend sticking to constant bitrate encoding and 44 kHz to avoid this issue.

YouTube

In addition to the traditional audio and video formats, the JW Player includes native support for playing back YouTube videos. YouTube playback is automatically enabled when the file option is assigned to the URL of a YouTube video. Here are the URL schemes the JW Player recognizes:

Note that YouTube may place ads over the video during playback. These ads (and the YouTube logo) can not be disabled. Consider them a compensation for the fact you are using YouTube's streaming infrastructure for free.

Browser Support

In Flash, the JW Player uses YouTube's Chromeless Player API to render YouTube content. In HTML5, the JW Player will insert YouTube's standard <embed> code on the page. iOS (and Android 3+) will convert these to a video tag using a built-in hack:

Internet Explorer 6/7/8Flash mode
FirefoxFlash mode
ChromeFlash mode
Internet Explorer 9Flash mode
SafariFlash mode
OperaFlash mode
iOS (iPad/iPhone)HTML5 mode
AndroidNot supported
BlackBerryNot supported

YouTube is working on an HTML5 version of their Chromeless Player API, but this is still considered beta software and not currently supported in JW Player.

Streaming

JW Player supports various protocols for streaming video, instead of doing progressive downloads. Streaming video offers better security, quality adaptation and bandwidth savings when compared to progressive downloads. Streaming is also the only way to embed live video on webpages.

Streaming does not add to the list of video and audio formats that the JW Player supports. However, the streaming protocol itself must be supported by the underlying framework (browser, mediaplayer), which imposes additional restrictions. The lack of a standardized streaming mechanism in HTML5 is a prime example. At present, JW Player supports:

In Flash mode, on all browsers, JW Player also supports a mechanism called Pseudo-Streaming. This is not an actual streaming mechanism though (i.e. no security, no adaptation, no bandwidth savings, no live streaming). Instead, it allows your users to seek in a video to not-yet-downloaded parts. In HTML5, on all browsers, this functionality works by default.