Professional Documents
Culture Documents
Version 3.12.1
Detailed Guide
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
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:
3. Document Distribution
4. Credits
The JW Player Module project is based on our code but also use another script and
flash resources.
5. License
The JW Player Module project is based on several licenses according to the code
contributors, the main licenses are GPL and CC.
Licences
Name of script/Flash code Licences
JW Player Module GPL
JW Player http://creativecommons.org/licenses/by-nc-sa/3.0/
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.
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.
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.
Below is a list of the most common reasons you will need to purchase a JW Player
license:
• 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.
It's possible your order didn't fully process. Please contact us and we'll email your
license within two business days.
Just contact us and we'll be happy to cancel the duplicate order for you.
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:
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
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.
8. Package
mod_playerjr_3.12.1_UNZIP_FIRST.zip
• 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.
Here are the different cases for installation and upgrade process.
Our module is compatible with Joomla 1.5.x in native and legacy mode
http://www.joomla.org/download.html
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)
http://www.joomlarulez.com/download/doc_download/14-jw-player-
module.html
• 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).
9.4. Upgrade
http://www.joomlarulez.com/download/doc_download/14-jw-player-
module.html
• The Joomla installer will notify you of the success of the install.
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>
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.
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.
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.
Here is another example CORS header, this time permitting the JavaScript file from
only a number of domains:
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
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.
http://en.wikipedia.org/wiki/Chmod
9.7. Language
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
http://docs.joomla.org/Creating_a_language_definition_file
9.8. HTML5
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.
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.
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.
This page lists all mediafile, streaming and playlist types the JW Player
supports.
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.
• 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:
See our MP4 Video Encoding Guide for hints and tools on converting your video
library to MP4.
• 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:
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.
• How-To Specific
• 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:
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.
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.
How It Works
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.
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:
• Webpage on JWplayer
http://www.longtailvideo.com/support/jw-player/28855/pseudo-streaming-in-flash
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.
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
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
See Working with Playlists for more info on loading multiple sources.
Joomlarulez E-mail: webmaster@joomlarulez.com Web site: http://www.joomlarulez.com
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:
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
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).
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>
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
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.
JW6 Support
• 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.
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.
TS Container Support
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.
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
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.
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.
#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.
Overview
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
Wowza Media Server, Microsoft Azure, and Unified Streaming Platform all
support rendering of playlists with alternate audio out of the box.
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()
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:
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:
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
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
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).
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:
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
11. Configuration
Here are listed all the backend setup processes for configuration.
11.1. Playlist
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
11.2. Layout
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).
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”
• Field “Width”
• 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
11.3. Behaviour
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.
11.4. Global
Specify Yes if you want that a link to Adobe to appear when the user
doesn't have Flash install.
12. How-To
12.1. How to use a Youtube Playlist/Channel/Tag in External RSS Link.
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.
<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>
Tip note is accessible by pointing with the mouse any field in the backend
administration of the module
13.2. FAQ
http://www.joomlarulez.com/faq.html
13.3. Forum
http://www.joomlarulez.com/forum.html
A lot of problems have already been solved. Do a search first on the forum.
http://support.jwplayer.com/