You are on page 1of 48

JW Player Module

The Best free solution to implement JW Player in Joomla

Version 3.12.1
Detailed Guide

Version 3.12.1 – doc. version 2.12.1


Revision date 04 July 2015
Author Fabien M. webmaster@joomlarulez.com
Copyright No portion of this document may be reproduced or
re-distributed without the consent of the author.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 1 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Table of Contents
1. Introduction ....................................................................................................................... 3
2. Project Team .................................................................................................................... 3
3. Document Distribution..................................................................................................... 3
4. Credits ............................................................................................................................... 3
5. License .............................................................................................................................. 4
5.1. Main License ................................................................................................................ 4
5.2. Commercial License................................................................................................... 4
5.2.1. JW Player™ License............................................................................................... 4
5.2.2. JW Player™ Licensing............................................................................................ 4
6. Version .............................................................................................................................. 6
7. Changelog......................................................................................................................... 6
8. Package .......................................................................................................................... 10
9. Installation and Upgrade............................................................................................... 11
9.1. Joomla Requirements ............................................................................................... 11
9.2. Technical Requirements........................................................................................... 11
9.3. First Installation.......................................................................................................... 12
9.4. Upgrade....................................................................................................................... 14
9.5. Crossdomain Security............................................................................................... 16
9.5.1. Crossdomain in Flash ........................................................................................... 16
9.5.2. Crossdomain in JavaScript .................................................................................. 17
9.6. Directory CHMOD...................................................................................................... 18
9.7. Language .................................................................................................................... 19
9.8. HTML5......................................................................................................................... 20
10. Media Support............................................................................................................ 22
10.1. Single Files ............................................................................................................. 22
10.1.1. Video Files .......................................................................................................... 23
10.1.2. Audio files ........................................................................................................... 24
10.2. Youtube API ........................................................................................................... 25
10.3. Streaming Protocol................................................................................................ 26
10.3.1. HTTP Streaming ................................................................................................ 27
10.3.2. RTMP Streaming ............................................................................................... 29
10.3.3. HLS Streaming................................................................................................... 33
10.4. XML Playlists .......................................................................................................... 40
11. Configuration .............................................................................................................. 42
11.1. Playlist ..................................................................................................................... 43
11.2. Layout...................................................................................................................... 44
11.3. Behaviour................................................................................................................ 45
11.4. Global ...................................................................................................................... 46
12. How-To........................................................................................................................ 47
12.1. How to use a Youtube Playlist/Channel/Tag in External RSS Link............... 47
13. Online Help ................................................................................................................. 48
13.1. Tip Note................................................................................................................... 48
13.2. FAQ.......................................................................................................................... 48
13.3. Forum ...................................................................................................................... 48
13.4. JW Player - LongTail Documentation................................................................. 48

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 2 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

1. Introduction
This document describes the basic functionality and key features of the JW Player
Module.

2. Project Team

The JW Player Module project is an Open Source project supported by the following
Team members:

Joomlarulez Team Membership


Name Username Role
Fabien M. Admin CEO, Webmaster,
Programmer
Delphine P. dhp Web designer

• The official home of JW Player Module project is located at


http://www.joomlarulez.com
• If you like this module, please post a rating and a review at the JED page of
JW Player Module :
http://extensions.joomla.org/extensions/multimedia/multimedia-players/video-
players-a-gallery/8156

3. Document Distribution

The Joomlarulez Team has decided to offer this documentation on a registration


basis.

4. Credits

The JW Player Module project is based on our code but also use another script and
flash resources.

Others Code Contributors


Name of script/Flash code Credits
JW Player http://www.jwplayer.com

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 3 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

5. License

The JW Player Module project is based on several licenses according to the code
contributors, the main licenses are GPL and CC.

5.1. Main License

Licences
Name of script/Flash code Licences
JW Player Module GPL
JW Player http://creativecommons.org/licenses/by-nc-sa/3.0/

5.2. Commercial License

JW Player have specific licenses for commercial websites, CC is always valid but
according to the terms of the license, commercial use is restricted. Here are the
conditions of use in these cases.

5.2.1. JW Player™ License

The license is only required for commercial websites.

All LongTail Video products require licenses when used commercially. Examples of
commercial use include:
(1) websites with any advertisements
(2) websites owned or operated by corporations
(3) websites designed to promote other products, such as a band or artist
(4) products (e.g. a CMS) that bundle LongTail products into its offering.

5.2.2. JW Player™ Licensing

• How do I purchase a license?

To purchase a JW Player Player, first visit our JW Player Pricing Page and select the
version that meets your needs, and then order online.

• How do I know if I need to purchase a license?

Below is a list of the most common reasons you will need to purchase a JW Player
license:

o You want to remove the JW Player Logo


o You are using the JW Player on a commercial site, or for commercial
purposes
o You are interested in one or more of the features offered in our licensed
player editions.
o You are running video ads in your JW Player
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 4 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

• What payment methods do you accept?

We accept the following payment methods: PayPal.

• I have an older license for the JW Player (v.5X or earlier), what does it cover?

As the terms of older licenses vary greatly, please contact sales and we will respond
with the relevant information. Please remember to include your original order number
& order email.

• Can I transfer my license to someone else?

No. JW Player licenses are non-transferrable.

• I purchased a license, but I didn't receive anything.

It's possible your order didn't fully process. Please contact us and we'll email your
license within two business days.

• I accidentally submitted my license order twice. What do I do?

Just contact us and we'll be happy to cancel the duplicate order for you.

• I changed my mind about my order. How do I cancel?

We do not refund except special case, see our refund policy.

• I have another question about licenses. Where can I find an answer?

Contact us and we’ll help you out.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 5 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

6. Version

Here are the latest number versions for all code and documentation used.
Version
Name of script/Flash code Version
JW Player Module 3.12.1
Doc JW Player Module 2.12.1
JW Player 6.12.4956

7. Changelog

This is a non-exhaustive (but still near complete) changelog for JW Player Module
3.12.1, including beta and release candidate versions.
Our thanks to all those people who’ve contributed bug reports and code fixes.
For a full changelog version please check this txt file:
http://www.joomlarulez.com/images/stories/CHANGELOG/CHANGELOG_JW_PL
AYER_MODULE.TXT

Legend:

* -> Security Fix


# -> Bug Fix
$ -> Language fix or change
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Changelog
Version Date Changelog
3.12.1 04 July ^ Upgrade to JW Flash Player 6.12.4956.
2015 ^ Upgrade to jwplayer.js 6.12.4956.
^ Upgrade to jwplayer.html5.js 6.12.4956.
3.12.0 27 + HLS, Improved adaptive heuristics for HLS.
February
2015 ^ Upgrade to JW Flash Player 6.12.4945.
^ Upgrade to jwplayer.js 6.12.4945.
^ Upgrade to jwplayer.html5.js 6.12.4945.
3.11.0 20 + Support for HLS Protocol 6 Draft version 13 features:
December Multiple audio track renditions using #EXT-X-MEDIA with
2014 TYPE equal to AUDIO
Subtitles in HTTP Live Streaming using WebVTT with
#EXT-X-MEDIA with TYPE equal to SUBTITLES
+ HLS, Flash player will detect timed metadata in ID3 format
when embedded in the MPEG-2 transport stream and
bubble up in the onMeta() API event
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 6 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

+ HLS, When the #EXT-X-PROGRAM-DATE-TIME tag is


present, onMeta() will fire when the applicable segment
plays.
+ HLS, The JW Player will automatically select an audio
track based on system language
+ HLS, Improved delivery of 608 caption payload
+ HLS, Ability to seek within the buffer without having to
rebuffer
+ HLS, Ability to re-seek while media is buffering
+ IE9 is now only supported in Flash, HTML5 support has
been removed.
+ net proxy connection type can be set for rtmps
connections
+ Poster image will not be loaded when autostart:true,
improving player startup speed.
+ webkit-playsinline was added as an attribute of the video
tag that JW Player uses when rendered on iOS devices.
^ Upgrade to JW Flash Player 6.11.4923.
^ Upgrade to jwplayer.js 6.11.4923.
^ Upgrade to jwplayer.html5.js 6.11.4923.
- remove some old deprecated comment lines.
3.10.0 06 ^ Upgrade to JW Flash Player 6.10.4906.
September ^ Upgrade to jwplayer.js 6.10.4906.
2014 ^ Upgrade to jwplayer.html5.js 6.10.4906.
3.9.0 20 July + JW Player will now supports YouTube HTML5 chromeless
2014 player! This allows HTML5 YouTube videos to played in the
JW Player on mobile and desktop!
+ Keyboard shortcuts! JW Player can now be controlled with
simple keyboard controls in both Flash and HTML5.Tab into
the player and use space to begin playback, arrow keys to
seek and adjust volume, and the ability quickly and
enter/exit fullscreen.
+ Second precise seeking in HLS. When seeking in an HLS
stream, instead of seeking to the beginning of a fragment
you can seek directly to a second.
+ Support HLS from Azure without any additional
configuration.
+ Valid Strict Standards in PHP.
^ Upgrade to JW Flash Player 6.9.4867.
^ Upgrade to jwplayer.js 6.9.4867.
^ Upgrade to jwplayer.html5.js 6.9.4867.
- remove some old deprecated comment lines.
3.8.0 15 Feb. + HTML5 video renders up to 4x faster.
2014 + Ability to extract ID3 metadata from RTMP streams.
+ Audio only mp3 creatives play in the JW Player.
+ Improved HLS Adaptive switching algorithm that provides
less buffering and more viewing.
+ Volume slider thumb no longer disappears when at zero
volume.
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 7 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

^ Upgrade to JW Flash Player 6.8.4616.


^ Upgrade to jwplayer.js 6.8.4616.
^ Upgrade to jwplayer.html5.js 6.8.4616.
3.7.0 25 Nov. + Valid Joomla 3.2 support.
2013 + Chapter markers points can be added with the WebVTT
standard track file.
+ Native fullscreen support in HTML5 for IE11.
+ AAC Audio streaming with ID3 tags is now achievable with
the JW Player.
+ When iFrames are supported, the JW Player can be
played in fullscreen.
+ When only one language or video quality is present, the
player skin shows HD/CC as a toggle instead of an overlay
options menu.
^ Upgrade to JW Flash Player 6.7.4071.
^ Upgrade to jwplayer.js 6.7.4071.
^ Upgrade to jwplayer.html5.js 6.7.4071.
3.6.0 15 Sep. + Support for 2x retina skins across desktop and mobile.
2013 + Support for DVR seeking in HLS streams.
+ Support for CEA-608 captions in HLS streams.
+ Support for elementary AAC/MP3 audio streams in HLS.
+ Playlist on mobile is now scrollable with one finger.
+ Doubleclick on display now toggles fullscreen.
+ Proper primary mode and fallback selection for RSS
feeds.
^ Upgrade to JW Flash Player 6.6.3896.
^ Upgrade to jwplayer.js 6.6.3896.
^ Upgrade to jwplayer.html5.js 6.6.3896.
3.5.0 08 July. + Live Closed Captions rendering using RTMP and the
2013 Wowza or Adobe media servers.
+ Playback of YouTube videos on iOS/Android and
YouTube error codes.
^ Upgrade to JW Flash Player 6.5.3609.
^ Upgrade to jwplayer.js 6.5.3609.
^ Upgrade to jwplayer.html5.js 6.5.3609.
- remove some old deprecated comment lines.
3.4.0 03 May. ^ Upgrade to JW Flash Player 6.4.3359.
2013 ^ Upgrade to jwplayer.js 6.4.3359.
^ Upgrade to jwplayer.html5.js 6.4.3359.
^ Update some backend text.
- Remove streamer flashvar as it's deprecated since JW
Player 6, rtmp url can be set in the URL field.
3.3.0 24 Mar. + Valid Joomla 3.1 support.
2013 + Install a default crossdomain.xml file if it is not present
(only for J1.6 to J3.1).
^ Upgrade to JW Flash Player 6.3.3242.
^ Upgrade to jwplayer.js 6.3.3242.
^ Upgrade to jwplayer.html5.js 6.3.3242.
^ Coding style and standards according to Joomla
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 8 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

requirement.
3.2.0 09 Feb. ^ Upgrade to JW Flash Player 6.2.3115.
2013 ^ Upgrade to jwplayer.js 6.2.3115.
^ Upgrade to jwplayer.html5.js 6.2.3115.
^ Repeat flashvar set to to true or false for jw6.x.
^ Add a backslash after the streamer field when using jw6.
^ Set default height to 270 px and default width to 480px.
^ Update some backend text.
+ add Mute flashvar.
- remove all old deprecated comment lines.
- Remove volume, wmode flashvars as it's deprecated since
JW Player 6.x.
3.1.0 23 Dec. 12 + Add controls flashvar.
^ Upgrade to JW Player 6.1.2972.
^ Upgrade to jwplayer.js 6.1.2972.
^ playlist.position change to listbar.position.
^ playlistsize change to listbar.size.
^ listbar position flashvar is set by default to none.
- Remove Bandwidth, bufferlength, repeat, shuffle,
smoothing, icons, controlbar, backcolor, frontcolor,
lightcolor, screencolor flashvars as it's deprecated since JW
Player 6.x.
- remove rtmp start.
- remove listbar position : top, left and over.
- Remove adsolution plugin as it's not support by JW 6.x.
3.0.0 03 Nov. 12 + Add Joomla 3.0 support.
+ Add HTML5 support (no html5 playlist display it will still
require advanced version).
+ Extension use install.script.php for installing extension in
J1.6, J1.7, J2.5 and J3.0 config,
the xml config file is now different from the 1.5 version but
the package is still cross-platform.
+ All common files (as swf, js, png, jpg, css, zip, xml...) are
moving in /media/jwadvanced, this for sharing media
ressources.
+ Load embedder as framework.
^ controlbar flashvar is set by default to over.
^ Language files are install only where it's need.
^ CHANGELOG.php, CREDITS.php, LICENSES.php are
still in the package but no longuer install.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 9 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

8. Package

The package you download is called:

mod_playerjr_3.12.1_UNZIP_FIRST.zip

You must unzip it first.

The package is composed of 4 files. Here is the list:

• mod_playerjr_3.12.1.zip: This is the package for the module itself. This is the
one you will install through the Joomla installer.
• crossdomain.xml: This is a file that you have to put in the webroot of your
website. This is to allow or not allow streaming from a specific website
address that you specify inside. See further forward for more information.
• README_CROSSDOMAIN_SECURITY.txt : This is a quick FAQ about the
settings for the crossdomain.xml file.
• README_INSTALL_UPGRADE_TO_JW_PLAYER_MODULE_3.12.1.txt: This
is a quick FAQ about how to install or upgrade the module See further forward
for more information.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 10 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9. Installation and Upgrade

Here are the different cases for installation and upgrade process.

9.1. Joomla Requirements

Our module is compatible with Joomla 3.x.x

Our module is compatible with Joomla 2.5.x

Our module is compatible with Joomla 1.7.x

Our module is compatible with Joomla 1.6.x

Our module is compatible with Joomla 1.5.x in native and legacy mode

You can find the last version here:

http://www.joomla.org/download.html

9.2. Technical Requirements

Our modules have the same requirements as Joomla:

http://www.joomla.org/technical-requirements.html

Technical Requirements
Software Recommended Minimum
PHP(Curl can be needed, 5.2+ 4.3.10
indicated by Curl*)
MySQL 4.1.x+ 3.23
Apache 2.x+ 1.3
(with mod_mysql, mod_xml,
and mod_zlib)

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 11 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.3. First Installation

Follow these steps to install our module.


(Note that the screen captures are made under Joomla 2.5).

• Download the Latest Version of our module :

http://www.joomlarulez.com/download/doc_download/14-jw-player-
module.html

• Unzip The Package: mod_playerjr_3.12.1_UNZIP_FIRST.zip.

• Go to the administration panel of Joomla.

• Install the package mod_playerjr_3.12.1.zip through the Joomla Installer

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 12 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

• The Joomla installer will notify you of the success of the install. If not follow
the indication given by the installer.

• Go to the Joomla module management Panel, select, edit and save the JW
Player Module with your own settings (see configuration chapter for more
details).

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 13 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.4. Upgrade

Follow these steps to upgrade our module.


(Note that the screen captures are made under Joomla 2.5).

• Download the Latest Version of our module :

http://www.joomlarulez.com/download/doc_download/14-jw-player-
module.html

• Go to the administration panel of Joomla.

• Install the package mod_playerjr_3.12.1.zip trough the Joomla Installer.

The package allows upgrade without uninstall.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 14 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

• The Joomla installer will notify you of the success of the install.

• Go to the Joomla module management Panel, select, edit, enable and


save the JW Player Module with your own settings (see configuration
chapter for more details).

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 15 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.5. Crossdomain Security

This guide describes the cross-domain file loading (security) restrictions


associated with the Adobe Flash plugin and JavaScript in HTML5
browsers/devices

9.5.1. Crossdomain in Flash

Note: Since JW player Module advanced 3.3.0 we automatically install a


crossdomain.xml file at the webroot of your Joomla website.

The Adobe Flash Player contains a crossdomain security mechanism that denies
certain operations on files that are loaded from a different domain than the player.

The easiest and best way to access 3rd party data is for the provider of that data
to host a crossdomain.xml configuration file in its web root. Before the Flash
Player attempts to load data from any site other than the one hosting the SWF, it
first checks the remote site for the existence of a crossdomain.xml. If the player
finds it, and if the configuration permits external access of its data, then the data
is loaded. Otherwise, a runtime security error is thrown. Here’s an example of a
crossdomain.xml that allows access to the domain's data from SWF files on any
site:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

Our plugins.longtailvideo.com domain includes such a crossdomain file, so


players from any domain cal load the plugins hosted there.

Although plugins will reside on plugins.longtailvideo.com (or another plugin root


you set), the crossdomain.xml file needs to allow data access from the site
hosting the player itself, not the plugin. For example, if the player is hosted at
www.site.com/player.swf and tries to access data from www.data.com, even if
data.coms' crossdomain.xml file allows access to plugins.longtailvideo.com, the
Flash player will throw a security exception.

http://developer.longtailvideo.com/trac/wiki/FlashSecurity

http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

All you have to do is to upload to yours web root server where you put, your files
(xml and mp4) a crossdomain.xml file.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 16 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.5.2. Crossdomain in JavaScript

In JavaScript, a Cross-Site Scripting mechanism similar to that in Flash exists. It


impacts publishers using JW Player on HTML5 capable browsers and devices,
denying to load the following files from another domain:

RSS feeds
XML skins
VTT captions

Generally, these file loads will fail if there’s no crossdomain access. Most browsers
will display an error in their debug console.

Cross-Origin Resource Sharing

Crossdomain access can be enabled in JavaScript with a mechanism similar to that


in Flash. Instead of hosting a crossdomain.xml file, crossdomain access is enabled
per file, through an additional HTTP response header (the CORS header). Here's
what the header looks like:

Access-Control-Allow-Origin: *

Note that this example sets your file wide open. Any script from any site can load the
file and do whatever it wants.

Restrict Access Example

Here is another example CORS header, this time permitting the JavaScript file from
only a number of domains:

Access-Control-Allow-Origin: *.domain1.com www.domain2.com

Note the use of the wildcard symbol: any subdomain from domain1 can load data,
whereas domain2 is restricted to only the www subdomain.
Options to limit protocols and ports can be added. See the enabled-cors.org site for
more info. The site lists how to enable CORS headers for various popular
webservers, frameworks and serverside languages.

Htaccess Solution

Open your htaccess file and copy paste this code inside :
########## allow xml and rss for javascript
<FilesMatch "\.(xml|rss)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
##########
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 17 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.6. Directory CHMOD

Our module has some features that use some specific scripts. Those scripts need
a CHMOD directory (there are a lot of extensions).

Those permissions are by default correctly set on most servers. You can check
this with your FTP client.

Directory CHMOD: 755.

File CHMOD: 644.

More info here:

http://en.wikipedia.org/wiki/Chmod

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 18 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.7. Language

The default language of JW Player Module is English, en-GB for Joomla.

All backend fields and helps are stored in an ini file call:

en-GB.mod_playerjr.ini

Once installed you can find this file in the language directory of Joomla:

[path-to-Joomla]/language/en-GB/

If you want to use another language you have to copy and rename this file to
the directory language needed.

[path-to-Joomla]/language/[ln-LN]/ ln-LN.mod_playerjr_ad.ini

Then translate it in to you own language.

NOTE: We are interested in receiving other language translations. We can


offer a coupon code in exchange.

• Webpage on Joomla documentation

http://docs.joomla.org/Creating_a_language_definition_file

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 19 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

9.8. HTML5

Flash & HTML5. Together.

There has been a great deal of debate about Flash versus HTML5. We think
it's pointless. The revolutionary aspect of JW Player is that Flash and HTML5
work together as part of a single player.

Skins, JavaScript, plugins are supported regardless of which rendering mode


you choose.

Want Flash for a uniform desktop experience but need to support the iPad?
No problem. Standards junkie and only want HTML5? That's cool too. Either
way. One player does it all.

Does the HTML5 Player Support xml Playlists?


We support xml playlist, but only in mRSS or RSS format.

Note that playlist XML files are subject to Cross-Site Scripting (XSS)
restrictions, which limit the way a web page can view data hosted on another
domain. This means that a JW Player on one domain cannot load a playlist file
from another domain. In Flash mode, adding a crossdomain.xml file to the root
of the web server hosting the playlist will allow the player to load the file. In
HTML5 mode, the workaround is a bit trickier; you'll need to include an HTTP-
Access-Control header in the playlist's HTTP response.

If your playlist and player page are hosted on the same domain, these
restrictions don’t apply.

Does the JW Player for HTML5 Support VP8/WebM?


Yes, it does. See our Support Video Formats Guide for more information.

Does the JW Player for HTML5 Support H.264?


Yes, it does. It supports H264 baseline video / ACC low-complexity audio in
the MP4 container. See our Support Video Formats Guide for more
information.

Does the HTML5 Player Support YouTube?


JW Player supports the YouTube iFrame API for HTML5 video playback. The
iFrame playback has limitations, especially when playing back on mobile
devices. For instance, playlists of YouTube hosted videos is not supported on
mobile devices.

Does the JW Player have HTML5 fall back to Flash?


Yes, the player includes an Adobe Flash based fallback. It is built using
javascript and enables a seamless fallback to the popular JW Player for Flash.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 20 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Does the JW Player have HTML5 have Audio Support


Once we introduced support for HTML5, one of the most requested features
was HTML5 audio. You can now play your MP3, AAC or OGG Vorbis audio
files in HTML5 mode using JW5.6.

Why Doesn't OGG Playback, Even in Firefox?


OGG is a file format that became relevant when Firefox initatied support for it
with the <video> tag. Therefore, webservers may not include it within their list
of supported mimetypes. You can easily check if this is the issue by navigating
directly to the file's address from your browser and verifying the 404 error,
Bingo!
To fix this, you need to add the mimetype to the server's configuration options.
Here's a quick reference for Apache and IIS:

• Adding a mimetype in Apache


• Adding a mimetype in IIS

Does the HTML5 Player Support RTMP


RTMP is a proprietary streaming video technology developed by Adobe. It is
not compatible with HTML5 <video>, it’s possible to set an alternative fallback
source.

Does the HTML5 Player Support FLV


Like RTMP, FLV is a proprietary technology developed by Adobe as a video
container format. While it may contain H.264 encoded video, no browser is
able to play it back. For this reason, it's better to use the MP4 container if you
plan on using your video in both Flash and HTML5.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 21 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10. Media Support

This page lists all mediafile, streaming and playlist types the JW Player
supports.

10.1. Single Files

JW Player 6 supports 9 distinct media formats: 3 video file types (MP4, WebM,
FLV), 3 audio file types (AAC, MP3, Vorbis), YouTube videos (through their
Chromeless Player API) and 2 streaming protocols (HLS, RTMP). Under certain
circumstances, JW Player may play additional formats (like Ogg videos or
ShoutCast streams), but only these 9 are cross-browser tested and officially
supported.

JW Player 6 does not decode audio or video itself, but instead relies upon two
underlying browser technologies: the HTML5 <video> element and the Adobe
Flash plugin. Whether a format can play in HTML5 and/or Flash varies by
browser. Therefore, we list below which formats are supported in each browser.
See Supported Browsers & Devices for more details.

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 playlist option to force the player to recognize the file as being of that format.
See Working with Playlists for more info.

When using RSS feeds to load media, the type option must always be set to the
mimetype of the format. These mimetypes are listed below. See Loading RSS
Feeds for more info.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 22 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.1.1. Video Files

JW Player 6 supports three types of video files:

• 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:

mp4 flv webm


Extension(s) mp4, m4v, f4v flv webm
Mimetype video/mp4 video/flv video/webm
1
Internet Explorer html5, flash flash -
Chrome html5, flash flash html5
Firefox html5, flash flash html5
Safari html5, flash flash -
iOS html5 - -
Android html5 - html5 2

1. HTML5 playback as of Internet Explorer 9.


2. WebM support as of Android 4.

See our MP4 Video Encoding Guide for hints and tools on converting your video
library to MP4.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 23 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.1.2. Audio files

JW Player 6 supports three types of audio files:

• 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:

aac mp3 vorbis


Extension(s) aac, m4a, f4a mp3 ogg, oga
Mimetype audio/mp4 audio/mpeg audio/ogg
Internet Explorer html5, flash html5, flash 1 -
1

Chrome html5, flash html5, flash html5


Firefox html5, flash html5, flash html5
Safari html5, flash html5, flash -
iOS html5 html5 -
Android html5 html5 html5 2

1. HTML5 playback as of Internet Explorer 9.


2. Vorbis support as of Android 4.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 24 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.2. Youtube API

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. YouTube videos are embedded by linking to their page,
using one of the following schemes:

• http://www.youtube.com/watch?v=ylLzyHk54Z0
• http://www.youtube.com/watch#!v=ylLzyHk54Z0
• http://www.youtube.com/v/ylLzyHk54Z0
• http://youtu.be/ylLzyHk54Z0

JW Player supports the YouTube iFrame API for HTML5 video playback. The
iFrame playback has limitations, especially when playing back on mobile devices.
For instance, playlists of YouTube hosted videos is not supported on mobile
device.

User Experience Notes

• JW Player will automatically use the YouTube iFrame API when on


mobile devices or when rendering in HTML5 mode
• 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 takeover.

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.

• How-To Specific

How to use a Youtube Playlist/Channel/Tag in External RSS Link ?

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 25 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.3. Streaming Protocol

JW Player 6 supports two types of streaming protocols:

• Adobe's RTMP protocol, using either a single MP4, FLV, AAC or MP3 file
or a SMIL manifest. RTMP is mature and has broad CDN and encoder
support. It requires dedicated server software though, and is sometimes
blocked by firewalls. See Using RTMP Streaming for more info.
• 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 iOS, but only the Premium and Ads
editions support HLS on desktop browsers. See Using Apple HLS
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) m3u8 (direct/manifest)


1
Extension(s) - smil m3u8
Mimetype application/x-fcs application/smil application/vnd.apple.mpegurl
Internet Explorer flash flash flash 2
Chrome flash flash flash 2
Firefox flash flash flash 2
Safari flash flash html5, flash 2
iOS - - html5
Android - - -

1. A direct RTMP stream is recognized by the URL starting with rtmp.


2. HLS in Flash is only supported in the JW6 Premium and Ads editions.

Note JW Player supports neither RTMP nor HLS on Android. Although HLS is
officially supported as of Android 3.0, a number of critical bugs prevents a
satisfying playback experience. See our HTML5 report for more info.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 26 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.3.1. HTTP Streaming

Every HTML5 browser supports the ability for players to seek to not-yet-
downloaded portions of a video. This functionality, often referred to as pseudo-
streaming, is great for any video longer than a few minutes.

Unfortunately, this functionality is not available by default when playing videos


in Flash. A work-around is possible though, by installing a web server module
and adding the startparam option.

How It Works

Pseudo-streaming works as follows: When the video is initially loaded, the


player reads and stores a list of seekpoints as part of the video's metadata.
These seekpoints are offsets in the video (both in seconds and in bytes) at
which a new keyframe starts.

When a user seeks to a not-yet-downloaded part of the video, the player maps
this seek to the nearest seekpoint. Next, the player does a request to the
server, adding the seekpoint as a querystring parameter:

http://example.com/videos/bbb.mp4?start=30.4

A special module in the webserver handles this request. It reads the video in
memory and checks the seekpoints metadata. It finds and skips to the offset
requested by the querystring parameter. It then returns the video to the
browser, starting from that offset.

Because the first frame in each return is a keyframe, the player is able to
correctly load and play it. Should the server have returned the video from an
arbitrary offset, the player would not be able to pick up the stream and the
display would only show garbage.

Server Modules

As said, Flash pseudo-streaming does not work by default on any web server.
A server side module is needed to enable it. Here are the most widely used
(and open source) modules for this:

• The H264 streaming module for Apache, IIS and NginX. It supports
MP4 and FLV videos.
• The FLV streaming module for Apache or HTTP FLV module for NginX.
They support FLV videos.

Please refer to the project pages and documentation of these modules to learn
how to build and install them. This falls outside the scope of the JW Player
documentation.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 27 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Several CDNs (Content Delivery Networks) support Flash Pseudostreaming


as well. We have done successful tests with Bitgravity (MP4 + FLV), Edgecast
(MP4 + FLV) and Limelight (only FLV).

Startparam

The querystring parameter that must be used to load video from an offset
differs per module and CDN. Therefore, it can be set in the JW Player using
the startparam configuration parameter.you enable pseudo-streaming in
Flash, using the parameter name you inserted.

And here is an overview of the startparam values for the modules and CDNs
we listed above:

Module/CDN startparam (MP4) startparam (FLV)


mod_h264 starttime start
mod_flvx - start
HttpFlvModule - start
Bitgravity starttime apstart
Edgecast ec_seek ec_seek
Limelight - fs

Our pseudo-streaming example is using Edgecast's ec_seek startparam to


enable pseudo-streaming in Flash.

• Webpage on JWplayer

http://www.longtailvideo.com/support/jw-player/28855/pseudo-streaming-in-flash

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 28 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.3.2. RTMP Streaming

This guide provides an overview on RTMP streaming with JW Player 6. It is


available in all JW6 editions, including Free.

Introduction

RTMP (Real Time Messaging Protocol) is a system for delivering on-demand and
live media to Adobe Flash applications (like the JW Player). RTMP supports video
in MP4 and FLV and audio in AAC and MP3. RTMP offers several advantages
over regular HTTP video downloads:

• RTMP can do live streaming, so people can watch your video while it is
being recorded.
• RTMP can do dynamic streaming, where the video quality automatically
adjusts to changes in bandwidth.
• Players can seek to later parts in a video, which is particularly useful for
files > 10 minutes.
• Players maintains a tiny buffer, instead of downloading a video during
playback, saving bandwidth.

Disadvantages

However, do note that RTMP has its disadvantages too. The most important ones
are:

• RTMP uses different protocols and ports than HTTP, which makes it
vulnerable to getting blocked by (corporate) firewalls. This issue can be
prevented by streaming in RTMPT (tunneling over HTTP), which comes at
a server performance cost.
• RTMP data is streamed to the player, which means the bandwidth of the
connection must be larger than the data-rate of the video. If the connection
drops for a couple of seconds, the stream will stutter. This issue can
largely be prevented by using dynamic streams that include a low-quality
file.

The biggest drawback is that RTMP only works in Flash and not in HTML5. New
HTTP streaming protocols, like Apple's HTTP Live Streaming (HLS), have wider
device support (e.g. iOS) and will likely replace RTMP over the coming years. JW
Player supports Apple HLS in both Flash and HTML5 mode.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 29 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Server Support

In order to use RTMP, your host or CDN needs to have a dedicated RTMP server
installed. There are two major offerings, both supported by JW Player:

• The Wowza Media Server is today's most widely used solution. It includes
support for almost any streaming protocol, including RTMP. Wowza 3
introduced dedicated support for JW6 SMIL manifests (see below)
• The Adobe Media Server is another great option. Since Flash is developed
by Adobe, new RTMP functionalities find their way in FMS first.

CDNs

The following CDNs (Content Delivery Networks) support RTMP and are tested to
work great with JW Player. They all support dynamic streaming and, with the
exception of CloudFront, live streaming too:

• Akamai
• CDNetworks
• CloudFront (Amazon Web Services)
• Edgecast
• Limelight

Live Streaming

A key feature of RTMP is the ability to do live streaming, e.g. of presentations,


concerts or sports events. Next to JW Player and an RTMP server, one then also
needs a small tool to ingest the live video into the server. There are a bunch of
tools available. Flash Live Media Encoder is free and available for Windows and
Mac.

With both FMS and Wowza, a live stream is embedded in exactly the same way
as an on-demand stream. However, the Akamai, Edgecast and Limelight CDNs
require a player to subscribe to a live stream. JW Player 6 supports this
mechanism.

JW Player 6 will embed and play a live stream like an on-demand file, with one
exception: instead of displaying a slider to scrub through the timeline, the player
will display the title of the event in the controlbar.

Embedding a Stream

Embedding an RTMP stream into JW Player 6 is simply a matter of providing the


full stream URL.Since the primary rendering mode is set to Flash, the RTMP
stream is picked over the MP4. If this option were not set, the JW Player would
play the HTTP download, since many browsers (e.g. Chrome, Internet Explorer)
support that in HTML5 (the default mode in JW6).

See Working with Playlists for more info on loading multiple sources.
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 30 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Application and Stream

Technically, an RTMP stream consists of two pieces:

• The application path (e.g. rtmp://example.com/vod/).


• The stream identifier (e.g. mp4:video.mp4).

In JW Player 6, these two pieces are rolled up into a single URL. The JW Player
determines the split between application and stream based upon the following
rules:

1. If a _definst_ is found, the player splits immediately after that. Example:

rtmp://example.com/vod/_definst_/myFolder/myVideo.mp4

2. If a prefix (e.g. mp4:) is found, the player splits immediately before that.
Example:

rtmp://example.com/vod/mp4:myFolder/myVideo.mp4

3. If neither a _definst_ nor a prefix are found, the player splits after the last /
in the filename. Example:

rtmp://example.com/vod/myVideo.mp4

Note that a _definst_ delimiter can always be inserted without resulting into
problems for video streaming. Also note that prefixes and file extensions are
automatically set correctly by JW Player before the RTMP stream is loaded. See
the documentation of your RTMP server for more information on these subjects.

Dynamic streaming

In addition to loading a single RTMP stream, JW Player 6 supports loading


dynamic streams. A dynamic stream consists of multiple single streams of the
same content, all in a different quality. The JW Player allows automated or
manual switching between the different qualities in such a stream.

Dynamic streams have to be set up using so-called SMIL manifests. These are
simple XML files that contain the location of the RTMP application, plus the path
to (one or more) streams stored on the RTMP server. The player always presume
a file with the extension .smil is an RTMP SMIL manifest.

Here is another example, using both an RTMP dynamic stream (for desktops) and
a progressive MP4 download (for mobile).

Note that SMIL manifests are subject to Cross-domain Security Restrictions. If


your SMIL files are located on a different server than your website or player, you
have to setup a crossdomain.xml file.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 31 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

SMIL contents
Here is a basic example, using three different streams:
<smil>
<head>
<meta base="rtmp://example.com/vod/" />
</head>
<body>
<switch>
<video src="myVideo-high.mp4" height="720" system-bitrate="2000000" width="1280" />
<video src="myVideo-medium.mp4" height="360" system-bitrate="800000" width="640" />
<video src="myVideo-low.mp4" height="180" system-bitrate="300000" width="320" />
</switch>
</body>
</smil>

The switching of quality is automatically done by JW Player, who selects the


highest quality:

• Whose system-bitrate fits the current bandwidth of the connection.


• Whose width fits the current width of the player screen.

Users are able to override the automated selection by setting the quality from a
popup menu. The height attributes of the streams in the manifest are used to set
the labels of this menu (e.g. 720p).

Wowza 3

Wowza Media Server 3 introduced dedicated support for these SMIL manifests. If
you are running version 3.1.2.15 or higher, append /jwplayer.smil to the URL of
your adaptive streams to get these manifests.

Here is how the URL to a SMIL manifest and an M3U8 manifest (for Apple HLS
streaming) look like with Wowza3:

http://example.com/vod/smil:myvideo.smil/jwplayer.smil
http://example.com/vod/smil:myvideo.smil/manifest.m3u8

• Webpage on JWplayer

http://www.longtailvideo.com/support/jw-player/28854/using-rtmp-streaming

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 32 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.3.3. HLS Streaming

This guide provides an overview on playing Apple HLS streams in Flash with JW
Player 6. This is an advanced functionality only available in the Premium and
Ads editions of JW Player 6.

Introduction

Apple's HTTP Live Streaming (HLS) is a protocol for streaming video using an
ordinary web server. It supports live and on-demand streaming, as well as the
ability to automatically adapt the stream quality to device and network conditions.
The protocol works as follows:

1. An existing file or live stream is segmented before delivery into short files.
2. These segments are stored on a standard webserver and individually
requested by a video player.
3. During playback, the player seamlessly stitches the segments together.

If multiple qualities of a stream are available, the player will continuously monitor
the current bandwidth and pick the next fragment from the highest quality it can
load. This is called Adaptive Streaming:

Various protocols for HTTP adaptive streaming are in the market today. JW
Player supports HTTP Live Streaming, because it is currently the only protocol
capable of streaming to desktop computers as well as to Apple's iPad and iPhone
devices.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 33 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

JW6 Support

Support for HTTP Live Streaming is dependent upon the platform:

• On the iPhone and iPad, HLS support is built into the iOS system.
Therefore, every edition of JW Player 6 supports HLS for iPad and iPhone.
• Additionally, the Premium and Enterprise editions support HLS playback
for desktop browsers (using Flash). This is a unique feature of JW Player
that allows publishers to deploy a single streaming format (HLS) across all
devices.
• HLS for Android devices can be enabled as of JW Player 6.9. This is
disabled by default and must be configured with the androidhls setting.
Please note that HLS is only supported on devices running Android
4.1(Jellybean) and higher.

Using HLS on Android

By default, JW Player blocks HLS playback on Android devices. For Android


devices running 4.1 and higher, you can turn this off and allow HLS streams to be
played with the following configuration option.

androidhls

The default value for this flag is false. Set this value to true if you would like the
JW Player to play HLS video sources on Android devices 4.1 and greater.

Additionally, directly linking to an M3U8 file will allow direct playback through the
Android native media player. This is currently only supported by Android devices
running 4.0 (Ice Cream Sandwich) and higher. Please note that this method will
not play through JW Player, and thus will not work with advertising and API
configurations.

HLS Desktop Support

On desktops in Flash mode, JW Player supports all features of Version 5 of the


HLS IETF draft. These features are included in the Premium edition:

• TS with H.264 video and/or AAC/MP3 audio, or elementary AAC/MP3


audio (as of 6.6)
• Variant playlists, both with adaptive streaming and manual quality selection
support.
• Support for encoding and timeline discontinuities marked with
DISCONTINUITY tags.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 34 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

TS Container Support

JW Player solely supports self-initializing TS fragments, meaning they start with a


PMT/PAT definitions and a full H264 IDR frame. Fragments that are setup
differently will introduce rendering errors in JW Player, ranging from short stutters
and macroblock artefacts to an eventual stall of the stream. Common issues are
the omission of keyframes in fragments, or misalignment of keyframes across
quality levels.

In practice, JW6 is compatible with HLS streams generated by the Wowza Media
Server and Adobe Media Server, as well as the mediafilesegmenter and
mediastreamsegmenter tools Apple provides. Many additional encoding and
segmenting tools may provide compatible streams, but this is not guaranteed.

Since HLS streams are transported over standard HTTP, any CDN can be used
for their delivery.

Crossdomain and 302

Note that, when playing in Flash, both the M3U8 manifests and the TS segments
are subject to crossdomain security restrictions. See Crossdomain File Loading
for more info and a workaround.

An additional limitation to keep in mind is that JW Player does not support 302
redirects on the M3U8 manifest/playlist files, since the Adobe Flash player does
not support the combination of crossdomain loading and redirects. We advise to
instead use DNS load-balancing or serve up a dynamic M3U8 manifest,
containing direct links to the M3U8 playlists on the target servers.

Embedding a Stream

Embedding an HLS stream using JW Player is a matter of providing the location


to the stream's M3U8 manifest file.
Since HLS is not supported on Android, this setup will result in an Unsupported
Format setup error on these devices. For live streams, this cannot be avoided.
For on-demand streams, Android support can be added by offering an additional
MP4 file of the video.

Next to a playlist block, this setup includes the primary option, set to flash. If this
is not set, the JW Player will attempt to play the video in HTML5. Because one of
the sources is MP4, this will succeed for Chrome, IE9 and Safari.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 35 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

AES Content Protection

The Enterprise edition has the ability to decrypt stream segments that are
encrypted with AES-128. When encryption is used, the m3u8 playlist file needs to
reference the corresponding key file so that the JW Player can retrieve the keys
for decryption. As of JW Player 6.12, the player can pass a token appended as a
url parameter to the key request URI, enhancing the security of AES.

The JW Player supports three modes for decoding encrypted segments:

The key can rotate per fragment or be the same.


The key can be hosted externally or be embedded within the index file.
Custom initialization vectors (IVs) can be used.

Note: JW Player does not support SAMPLE-AES.

Here is an example of a playlist file with a custom IV.

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
#EXT-X-KEY:METHOD=AES-128,URI="key",IV=0x1c341b1db8ff5399501511a99c8c7d14
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXT-X-ENDLIST

Note: The video will take a little longer to play because the player needs to
decrypt each individual ts fragment. Note that decryption time may vary
depending on the resolution of video files.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 36 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Multiple Audio Renditions

Overview

As of JW Player 6.11, if the M3U8 manifest provided contains alternate renditions


of audio tracks, the JW Player automatically chooses an appropriate audio track
to play alongside the video. JW Player also provides an interface for viewers to
toggle between the alternate audio tracks. The audio will switch as soon as it is
loaded, with as little buffering as possible.

The labels for these options are automatically generated from the M3U8 file, using
the NAME attribute. The NAME is specified as being a human-readable
description. Here is an M3U8 manifest that illustrates this:

#EXTM3U
#Audio renditions
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="English",
DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en", URI="main/english-audio.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-
ID="aac",NAME="Deutsch",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="de",
URI="main/german-audio.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-
ID="aac",NAME="Commentary",DEFAULT=NO,AUTOSELECT=NO,URI="commentary/audio-
only.m3u8"

#Video qualities
#EXT-X-STREAM-INF:BANDWIDTH=1280000,CODECS="...",AUDIO="aac"
low/video-only.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2560000,CODECS="...",AUDIO="aac"
mid/video-only.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=7680000,CODECS="...",AUDIO="aac"
hi/video-only.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=65000,CODECS="mp4a.40.5",AUDIO="aac"
main/english-audio.m3u8

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 37 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Wowza Media Server, Microsoft Azure, and Unified Streaming Platform all
support rendering of playlists with alternate audio out of the box.

Default Track Selection

JW Player 6 looks at DEFAULT and LANGUAGE to determine which audio track


to start up the stream with. If there is a language code matching the system
setting language, the JW Player will automatically choose that track. Otherwise it
reverts to DEFAULT track. If no default is specified, the first audio track in the
manifest will be used.

Audio Tracks API

These API calls are used to listen to or update the audio track if multiple audio
tracks of a video are provided.

getAudioTracks()

Returns an array with audio tracks from the player. Each track is an object that
contains a label property.

getCurrentAudioTrack()

Returns the index of the currently active audio track.

setCurrentAudioTrack(index)

Change the audio track to the provided index. The index must be within the list
provided by getAudioTracks.

onAudioTracks(callback)

Fired when the list of available audio tracks is updated. Happens e.g. shortly after
a playlist item starts playing. Event attributes:

levels (Array): the full array with new quality levels.

onAudioTrackChange (callback)

Fired when the active audio track is changed. Happens in repsponse to e.g. a
user clicking the audio tracks menu or a script calling setCurrentAudioTrack.
Event attributes:

currentTrack (Number): index of the new quality level in the getAudioTracks()


array.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 38 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

Adaptive Streaming

If the M3U8 manifest provided contains so-called variant playlists, the JW Player
will automatically start playing the highest quality stream that fits the bandwidth
and the screen size. The JW Player will automatically adjust the stream if the
bandwidth increases or decreases during playback.

At the same time, users are able to select their quality of choice through a Quality
menu in the controlbar. In addition to the preselected Auto option, all variant
streams are available. If a user chooses a distinct stream, the automated quality
switching is disabled:

The labels for these options are automatically generated from the M3U8 file, using
either the NAME (first choice), RESOLUTION (second choice) or BANDWIDTH
(fallback) attribute. Here is an M3U8 manifest that provides all these attributes:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-
ID=1,BANDWIDTH=1600000,RESOLUTION=1280x720,NAME="720p HD"
1280/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-
ID=1,BANDWIDTH=832000,RESOLUTION=640x360,NAME="360p SD"
640/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-
ID=1,BANDWIDTH=320000,RESOLUTION=320x180,NAME="180p 3G"
320/prog_index.m3u8

Note that JW Player 6 also uses RESOLUTION to determine the aspect ratio of a
stream. If it is not set, JW Player presumes a default aspect ratio of 16:9.

http://support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming
http://support.jwplayer.com/customer/portal/articles/1430240-hls-adaptive-
streaming

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 39 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

10.4. XML Playlists

RSS feeds can be used to load playlists with multiple pieces of content into JW
Player 6, but also to load multiple media formats and/or multiple quality levels for
each piece of content.

JW Player requires the RSS feed to be valid and using the Media RSS extension
to define content and thumbnail. All item and source attributes are supported.

Introduction

JW Player supports two mechanisms for loading playlists:

• An inline configuration. It is enabled by setting the playlist configuration


option to an array of playlist items.
• An external RSS Feed. It is enabled by setting the playlist configuration
option to the URL of an RSS feed.

See Working with Playlists for info on loading playlists inline, plus info on the
structure of playlists in JW Player 6.

If you have the choice, inline configurations are preferred. They allow JW Player 6
to load content faster (no extra file to load), plus they avoid any crossdomain
loading issues. A crossdomain loading issue appears 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, in both
Flash and HTML5 mode. See Crossdomain File Loading for more info and
workarounds.

Another limitation around RSS feeds is that JW Player will not be able to perform
on the fly mode selection based upon media formats. JW Player will always use
the primary mode, which is HTML5 if the browser/device supports HTML5 by
default. If you use a feed with HLS streams, MP4 videos or RTMP streams, you
must set the primary option to flash to avoid playback issues (e.g. on Firefox for
MP4).

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 40 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" >


<channel>
<title>Example RSS Playlist</title>
<item>
<title>Sintel</title>
<description>Sintel is a fantasy computer generated short movie. It's the third
release from the Blender Open Movie Project.</description>
<media:thumbnail url="http://example.com/thumbs/sintel.jpg" />
<media:content url="http://example.com/videos/sintel.mp4" />
</item>
<item>
<title>Big Buck Bunny</title>
<description>Big Buck Bunny is a short animated film by the Blender Institute,
part of the Blender Foundation.</description>
<media:thumbnail url="http://example.com/thumbs/bunny.jpg" />
<media:content url="http://example.com/videos/bunny-sd.mp4" />
</item>
</channel>
</rss>

When authoring RSS feeds, do not forget to add the xmlns:media namespace to
the top XML element. Otherwise, JW Player 6 won't be able to parse the feed.

Mapping

The full set of item and source properties that can be set for inline playlists is also
supported for RSS feeds. Below is how all properties map to Media RSS
elements:

JW Player RSS Feed Comments


title title
description description
mediaid guid Set isPermalink="false" attribute
image media:thumbnail@url
source.file media:content@url
source.type media:content@type Must be a mimetype (video/mp4)
source.width media:content@width
Appended with a p in the quality selector (e.g.
source.height media:content@height
720p)

See Supported Media Formats to find out which mimetypes should be used for
which media formats.

• Webpage on JWplayer

http://www.longtailvideo.com/support/jw-player/28843/loading-rss-feeds
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 41 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

11. Configuration

Here are listed all the backend setup processes for configuration.

Go to the Joomla module management Panel, select JW Player Module, select


and edit.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 42 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

11.1. Playlist

• Field “Select kind of source”

Here you have to choose where the playlist comes from:


o A RSS URL (RSS - Media, SMIL, youtube)
o Single file

• Field “URL of your playlist/Single File”

o External Playlist Case:

Put your RSS URL (RSS - Media, SMIL, youtube) here.

An External playlist is a text-based XML file that contains information


about each file you would like to present in the player.
Note: If you use an xml file locally put in the field the relative pathway to
the file: /pathway_to_the_file/the_file.xml

o Single File Case:

Put the address of File here; note that the address can be a remote or
local file. The full pathway is needed.

Note: If you use a file locally, put the relative pathway to the file in the
field: /pathway_to_the_file/the_file.mp4

• Field “Thumbnail”
Optional: Put an image preview here for the single file.
Note: If you use a file locally put the relative pathway to the file in the field:
/pathway_to_the_file/the_file.png

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 43 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

11.2. Layout

These flashvars control the looks and layout of the player.

• Field “Listbar position”

Position of the listbar relative to the video display. Can be bottom (below
the display), none (no bar; the default) or right (to the right of the display).

• Field “Listbar Size”

Width (if position is right) or height (if position is bottom) of the listbar. This
is basically the amount of pixels the bar steals from the video window. Is
180 by default.

• Field “Height”

Height of the player in pixels. We recommend setting this to at least 180,


so all UI elements will fit. However, it can be set to a small size (e.g. 40) for
audio-only playback. Defaults to 270.

• Field “Width”

Width of the player in pixels. We recommend setting this to at least 320.


On smaller players, certain UI elements may not fit. Defaults to 480.

• Field “Controls”

Whether to display the video controls (controlbar, icons and dock). Can be
false or true (default).
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 44 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

11.3. Behaviour

These flashvars control the playback behaviour of the player.

• Field “Auto Start”

Automatically start playing the video on page load. Can be true or false
(default). Autostart does not work on mobile devices like iOS and Android.

• Field “Repeat”

Whether to loop playback of the playlist or not. Can be true (keep playing
forever) or false (stop playback when completed). Defaults to false.

• Field “Stretching”

How to resize the poster and video to fit the display. Can be none (keep
original dimensions), exactfit (stretch disproportionally), uniform (stretch
proportionally; black borders) or fill (stretch proportionally; parts cut off).
Defaults to uniform.

• Field “Mute”

Whether to have the sound muted on startup or not. Can be false (default)
or true.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 45 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

11.4. Global

• Field “Module Class Suffix”

A suffix to be applied to the css class of the module (table.moduletable).


This allows individual module styling.

• Field “Flash Install”

Specify Yes if you want that a link to Adobe to appear when the user
doesn't have Flash install.

• Field “Joomlarulez Link”

Specify Yes if you want a link to Joomlarulez.com to appear. If set to No


please make a donation.

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 46 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

12. How-To
12.1. How to use a Youtube Playlist/Channel/Tag in External RSS Link.

About Youtube playlist.

We are aware that YouTube has restricted certain aspects of their RSS feeds that
affect external users ability to play videos.

We believe this should only affect RSS feeds that are created within the YouTube
account.

You can try to manually configure your own RSS feed which may work in the
interim.

<rss version="2.0" xmlns:jwplayer="http://rss.jwpcdn.com/">


<channel>

<item>
<title>LongTail Video | Home of the JW Player</title>
<description>World-renowned developer Jeroen JW Wijering co-founded
LongTail Video to develop and distribute the worlds best media
players.</description>
<jwplayer:source file="https://www.youtube.com/watch?v=LnhMLYQl2Rk" />
</item>

<item>
<title>LongTail Video - AdSolution - Post-Roll </title>
<description>LongTail Video, the creators of the first open source FLV Player, the
JW Media Player, is proud to announce a new monetization tool - the LongTail
AdSolution.</description>
<jwplayer:source file="https://www.youtube.com/watch?v=EIcBzYwUY2M" />
</item>

</channel>
</rss>

Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 47 / 48 – JW Player Module 3.12.1


JW Player Module
The Best free solution to implement JW Player in Joomla

13. Online Help

In addition to this documentation there is also online help accessible.

13.1. Tip Note

Tip note is accessible by pointing with the mouse any field in the backend
administration of the module

13.2. FAQ

FAQ is accessible at this web address:

http://www.joomlarulez.com/faq.html

Specific How-to comes from this section.

13.3. Forum

Forum is accessible at this web address:

http://www.joomlarulez.com/forum.html

A lot of problems have already been solved. Do a search first on the forum.

13.4. JW Player - LongTail Documentation

JW Player - LongTail Documentation is accessible at this web address:

http://support.jwplayer.com/

Our documentation is in most part based on the JW Player documentation.


Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com

Page 48 / 48 – JW Player Module 3.12.1

You might also like