Private streaming video with JW Player 7 on WordPress

NOTE: this post is retained for historical purpose only. The plugin described herein is no longer on the market since end 2019 but some of the information is still useful.

 Private streaming video/audio with JW Player 7 on WordPress is now possible with S3Media Stream Enterprise 7.7.1, our WordPress plugin that works via private RTMP distributions and Web distributions on Amazon Web Services (AWS). It ships and installs with JWplayer 7.x automatically, you do not need to download it separately.

The plugin is ideal for coaches, media professionals and visual artists to protect their rich media content on a WordPress site.
The plugin is based on S3Media Stream (regular), giving the option to protect videos and audios from unauthorized use, among other features. (See also S3Media Stream to protect video and audio on WordPress),  but it has been rewritten from scratch since JWplayer 7 is substantially different from JWplayer 5.x.

The Enterprise version has a wizard directly in the post and page editor, allowing to work quicker. The shortcode has been made easier to deal with as well.
We are not going to list all possible features here(there are too many), but instead highlight a couple of very interesting new features which are available in this plugin thanks to JW Player 7:

  1. Responsive audio/video player, which shrinks and enlarges depending on the screen resolution.
  2. Multilingual subtitles, to serve different language options for video and audio
  3. Social media button, to share the page where your video or audio is embedded.
  4. Advanced Analytics to follow how well your media performs.
  5. Improved HTML5 fallback, for mobiles and tablets
  6. HLS adaptive streaming (live streaming not directly supported via the plugin)
  7. Watermark for videos to prevent screen capturing (also available in S3Media Stream regular)
  8. HTML5 supported Skins, including your own

Note: Advanced Analytics Some of these features require requires a Premium license from JW Player.

1. Responsive audio/video player

Where JWplayer 5.10 was not capable to shrink and enlarge according to the screen resolution or browser window, JWplayer 7 is fully responsive provided you have a responsive theme. This is also possible for audios with a poster image.

2. Multilingual subtitles

If you want to serve subtitles or captions in various languages, it is just a question of creating the subtitle files and dropping them in a separate folder.  The plugin will pick up all languages available and present them in the video or audio player, like this:

JW Player multilingual subtitles

3. Social media button

Generally not useful if your page/post is protected by a membership system, but for public posts and pages, the share button is an easy option to share the link to the page to Facebook, Twitter and e-mail.

JW Player social sharing

It does not directly link to the video or audio itself, which would be pointless since they have an expiring link when you use private streaming.

4. Advanced Analytics

Via your JWplayer Premium/Pro account, you can follow the traffic analytics of your media:

JW Player Advanced analytics


5. Improved HTML5 Fallback

JWplayer 7.x now supports skins and subtitles in tablets and some mobile devices.  There is improved support for playlists as well. Subtitles in languages using accents and special characters is improved since version 7.7.1.
SRT subtitles remain to behave a bit strange on iPad, best use VTT instead.
This clearly needs improvement but at least they show up as opposed to JWplayer 5.10 and the JWplayer team works constantly to enhance HTML capabilities.

6. HLS adaptive streaming

A technique to serve videos based on internet connection and screen resolution designed by Apple. It is meant to serve a version of a video according to connection speed and resolution of the screen. The video switches dynamically to a lower version if the connection slows down.
It is possible to use HLS adaptive streaming via CloudFront, but it has two disadvantages:
Videos need to be public, which means that they can be stolen directly from your S3 bucket on AWS (although there are ways to limit the damage). Secondly, given the childish war between Apple and Google, not all Android devices support this technology properly, although it is strongly improved with version 7.4.3.
Also, HLS adaptive streaming requires Premium license from JW Player, which at this time of writing costs $299/year.
Here is a tutorial of JW Player to setup adaptive streaming on CloudFront.

HLS Live streaming is not supported via the plugin, but you can use JW Player standalone on the site as well to set this up.  You can refer to the JW Player documentation how to do this. S3Media Stream embeds your JWplayer 7 Premium license key in the posts and pages (if you have one), therefore it is perfectly possible to use private streaming and live streaming on the same site.

7. Watermark to prevent screen capturing

Although technically not a feature of JW Player, thanks to the logo/watermark feature, our WP 21 Century team could create an option to dynamically display the name or user login of logged in members on a site. It won’t prevent users from screen capturing, but they will think twice before publishing the screen capture on their site, since name, date and IP address are displayed in the video area:

Dynamic watermark

However, this feature requires certain standard settings which are not available on all servers. mod_rewrite must be turned on in Apache and the PHP library GD needs to be installed as well.  Most servers have this by default but sites hosted on Amazon lack the GD library, it needs to be installed manually.
Given these technicalities, this feature is regarded as a bonus in an experimental stage. The RewriteRule must be enabled as well. On Windows servers, this is not the case, but generally, hosting providers give an option to redirect a URL via the admin panel.

8. HTML5 supported Skins, including your own

The plugin ships with 9 skins which are compatible with most tablets and mobile devices. You can create your own skins and just drop them in the skins folder.  The plugin will pick them up automatically and list them in the default settings and the shortcode wizard.

How to decide whether to use Enterprise or Regular?

This is actually no longer an issue. In fact, the Enterprise version is cheaper because the free license of JW Player gives you the Pro features which were not free in JW Player 5.10.
For the regular version a one time license fee was required for JWplayer 5.x, so there was no point in maintaining the old version, although support is still given for existing customers.

Secondly:  JWplayer 7 has many improvements, although it dropped a few feautures. Read the comparison table here. To name one example; if you want to show just a part of a long video or audio, this can only be done via S3Media Stream regular, since that feature is not available in JWplayer 7.

However, in the long term, JWplayer 7 will evolve further while JWplayer 5.10 is at its end of the cycle.  Although JWplayer promised to support add-ons of version 5.10 in the foreseeable future, it is clear that at some point in time, version 5.10 will get too old. It still uses the old embadding method for YouTube videos, for instance.
As said earlier, JWplayer 7 keeps improving HTLM5 capabilities, while version 5.10 has various features that do not work on tablets, like skins and subtitles.

Therefore,  S3Media Stream Enterprise is the way to go. Enterprise also supports protected download links to any file served via a web distributions which ensures faster delivery as opposed to a protected S3 bucket link in the regular version.


S3Media Stream has an excellent reputation regarding support for over 5 years. Setting up an AWS account is not that easy and the support team helps you all the way, even via a skype meeting with screen sharing if needed.
There is also an AWS setup service available that sets up everything for you so that you can concentrate on content instead of fiddling with technicalities.

Upgrading from S3Media Stream regular to S3Media Stream Enterprise

You cannot use both version together on one site because that creates a javascript conflict. The shortcodes are not compatible either. Although there is a shortcode converter to convert old shortcode to the new format, this needs to be done per page, which can be time consuming if you have already many videos or audios on your site.
The converter also does not work that well if you used default options.

Here is a demo site that shows various options of S3Media Stream Enterprise. And here is a demo of the watermark feature to prevent screen capturing.

Leave a Comment