Media Format Reference
This article lists all file, streaming and playlist formats JW Player officially supports.
Table Of Contents
JW Player officially supports 10 distinct media formats:
- 3 video file types: MP4, WebM and FLV.
- 3 audio file types: AAC, MP3 and Vorbis.
- 2 streaming protocols: HLS and RTMP.
- YouTube videos, using the official Chromeless Player API.
- RSS feeds, using enclosures or the Media or JWPlayer extension.
Under certain circumstances, JW Player may play additional formats (like Ogg videos or ShoutCast streams), but only the above are cross-browser tested and officially supported. JW Player does not decode audio or video itself, but instead relies upon two underlying browser technologies: the HTML5 <video> element and the Adobe Flash plugin. Details are listed below.
The JW Player tries to recognize a file format by its extension (e.g. .mp4 for MP4 videos). If the extension of your files is not recognized, the player will display an error. However, if you know your file is in a supported format, you can use the type configuration option to force the player to recognize the file as being of that format. See the Configuration Options Reference for more info.
JW Player supports the following video file types:
- MP4 videos using the H.264 video codec and the AAC audio codec. MP4 is of high quality and can be played in all browsers and devices. It is today's video format of choice.
- FLV videos using the H.263 video codec and the MP3 audio codec. FLV is of lower quality than MP4 and only supported in browsers that run Flash. Many existing video libraries are encoded in FLV.
- WebM videos using the VP8 video codec and the Vorbis audio codec. WebM is royalty free and of comparable quality to MP4. It has limited browser and device support.
Here is an overview of the recognized file extensions and mimetype for these formats, plus their browser playback support:
|Extension(s)||mp4, m4v, f4v, mov||flv||webm|
|Internet Explorer||html5, flash 1||flash||-|
|Firefox||html5, flash 3||flash||html5|
1 HTML5 playback as of Internet Explorer 9.
2 WebM support as of Android 4.0 (Ice Cream Sandwich).
3 MP4 playback in HTML5 only supported on Windows.
See our MP4 Video Encoding Blog Post for hints and tools on converting your video library to MP4.
JW Player supports the following audio file types:
- AAC audio files. AAC is of high quality and supported by all browsers and devices.
- MP3 audio files. Though not as good in quality as AAC, MP3 is very widely used. Many existing audio libraries are encoded in MP3.
- Vorbis audio files. Vorbis is royalty-free, but has limited browser and device support.
Here is an overview of the recognized file extensions and mimetypes for these formats, plus their browser playback support:
|Extension(s)||aac, m4a, f4a||mp3||ogg, oga|
|Internet Explorer||html5, flash 1||html5, flash 1||-|
|Chrome||html5, flash||html5, flash||html5|
|Firefox||html5, flash 3||html5, flash||html5|
|Safari||html5, flash||html5, flash||-|
1 HTML5 playback as of Internet Explorer 9.
2 Vorbis support as of Android 4.0 (Ice Cream Sandwich).
3 AAC playback in HTML5 only supported on Windows.
In addition to self-hosted audio and video files, JW Player includes native support for playing YouTube videos. This is possible through built-in support for the Chromeless Player API for Flash and the iFrame API for HTML5 playback. YouTube videos are embedded by linking to their page, using one of the following schemes:
On iOS and Android, limited playback support is available.
- Mobile devices require user interactions to start video playback. This means that playlists do not work seamlessly on mobile.
- YouTube controls are visible when first loading the player on mobile. After the play action has been made, the JW Player controls replace these.
Some additional notes on YouTube support:
- If no poster image is provided, JW Player will automatically load a poster image from YouTube.
- YouTube videos are mostly available in multiple qualities, which means a quality selector is automatically displayed in the controlbar.
- YouTube may place ads over the video during playback. These ads can not be disabled. Neither can the YouTube logo in the bottom right corner.
JW Player supports two types of streaming protocols:
- Apple's HLS protocol, using M3U8 manifest files and TS media files. HLS builds upon standard HTTP, making it easy to deploy and firewall resilient. All JW6 editions support HLS on mobile devices, but only the Premium and Ads editions support HLS on desktop browsers. See Using Apple HLS Streaming for more info.
- Adobe's RTMP protocol, using either a single media file or a SMIL manifest. RTMP requires dedicated server software and is often blocked by firewalls. See Using RTMP Streaming for more info.
Here is an overview of the recognized file extensions and mimetypes for these protocols, plus their browser playback support:
|rtmp (direct)||rtmp (manifest)||hls (direct/manifest)|
|Internet Explorer||flash||flash||flash 2|
|Safari||flash||flash||html5, flash 2|
1 A direct RTMP stream is recognized by the URL starting with rtmp://.
2 HLS in Flash is only supported in the JW6 Premium, Enterprise, or Ads editions.
3 Can only be enabled on version 6.9+ by setting the option "androidhls: true" within your JW Player embed. HLS will only work on Android 4.1+.
An RSS feed is a basic XML file, used to load a playlist with one or more media items into JW Player. For each entry, JW Player can read metadata, poster image, media sources and text tracks from the feed. Loading of RSS feeds differs slightly from other formats, since they use the playlist option instead of file.
For single video embeds, external RSS feeds are useful for larger scale media deployments, due to the separation of presentation (config options) and content (RSS feed). External RSS is also useful when working with third-party content providers, directly loading the RSS feeds off their servers (e.g. for podcasts/vodcasts).
JW Player supports RSS feeds using the JWPlayer RSS namespace (preferred), the Media RSS namespace or vanilla RSS 2.0 with enclosures. Not all item, source and track attributes are supported with Media RSS and plain RSS. Below is how all configuration options map to JWPlayer RSS, Media RSS and vanilla RSS:
|Inline Playlist||RSS with JWPlayer||RSS with Media||vanilla RSS|
See the tables above to find out which mimetypes should be used for which media formats.
Note that RSS feeds are subject to crossdomain loading restrictions. This applies if your player is embedded at www.example.com and your RSS feed is loaded from www.othersite.com (or subdomain.example.com). By default, this is not allowed by any browser.
See Crossdomain File Loading for more info and setting up CORS headers to work around this.