Date: October 28, 2010 Author: Ethan Feldman

JW Player 5.3, HTML5, and You

Update: JW7 is now available. Check it out here.

Common misunderstandings about HTML5, Flash, and the JW Player

The release of JW Player 5.3 introduced some important new changes to our player, and its embedding mechanisms. Both the JW Player for Flash and the JW Player for HTML5 are now completely incorporated into JW Player 5.3. As always, we’ve received great feedback from our community which has helped us compile this list of common misunderstandings about the Flash Player, the HTML5 Player, and Flash/HTML5 in general. With this post, I hope to help you get started with the JW Player 5.3 for Flash and HTML5.

Ready? Let’s Get Started!

1) The 5.3 player.swf file does not contain the HTML5 Player

I know this might sound obvious to some of you, but the 5.3 version of player.swf does not contain the HTML5 player. For those who are less familiar, the .swf file format is a Flash-specific format. The entire HTML5 player exists within a file called jwplayer.js (our new JW Embedder), which comes in the new .zip file for the 5.3 player. Inside of this .zip file there is also a PDF with details on the new JW Embedder, how it works with the player, and a specific section dedicated to the player’s HTML5 support.

2) I uploaded the new player.swf file to my site, but the HTML5 player does not work on my iDevice

This misunderstanding is related to the first point we just addressed. Note that in order to use the HTML5 player, you need to embed the player using jwplayer.js. Why? Because all of the HTML5 player code exists within this file. In cases where you set the HTML5 player to be the default mode, the player.swf file is only there for Flash fallback purposes. The idea behind this orientation is to present a seamless experience for the end user. The end user should always see a working video player, regardless of what browser/device they are viewing the video with.

3) I am embedding the HTML5 player, but it doesn’t play my .flv files

The format .flv actually stands for Flash Video, and unfortunately, this format is only supported by Flash. Previously, Flash would handle the entire video playback. With the introduction of HTML5, it is now handled by the browser or device. Each browser/device has support for its own specific list of codecs. For example, if you embed our HTML5 player in Firefox using just an MP4 file, it will actually fall back to Flash, because Firefox does not support MP4 files in HTML5 (and it probably never will). However, if you embed our HTML5 player using an OGG/OGV file, Firefox will have no problem playing the video back natively in HTML5. Then again, Safari will choke.

4) I am trying to run an RTMP stream with the HTML5 player, but it isn’t working

RTMP is a proprietary streaming technology, developed by Adobe, and it is only supported by Flash. One of the most important things to take note of regarding HTML5 is that it can only support what the browser natively supports. The most common way to view HTML5 video is through progressive download. Progressive download can be compared to simply embedding the Flash player, and pointing to a file on your server.

5) I can’t get any of my audio files to play in HTML5

While <video> was the main thing that propelled HTML5 into the limelight, a lot of users have asked about support for MP3 files, and more specially, the <audio> tag. We have this on our radar, and are already planning to incorporate it in the next release of the HTML5 player. In the interim, please note that the current version of the HTML5 player, does not support <audio>.

6) None of Flash Plugins work

The new JW Embedder has the ability for you to specify failover cases, such as first trying HTML5, and then falling back to Flash – or vice versa. Using this same methodology, you can set plugins in the embedder, and when the player is running in Flash mode, the plugins will load.

However, these plugins will not work in HTML5. They are Flash plugins only, thus HTML5 does not support them. But don’t worry, we are working on introducing plugins that work with both Flash and HTML5, so keep your eyes peeled!

7) iPad / iPhone issues regarding skins/player look & feel

When the HTML5 player is played back on an iPad or an iPhone, the result is very simple, it just plays back the video correctly. Nothing else. No bells or whistles. This is because these particular devices use the <video> tag only. Thus, playback will happen in the device’s native video player. For example, the iPhone plays the video back in the QuickTime application – in a new window entirely. This means it does not play directly on the webpage. For the iPad, while the video plays back directly within the webpage, it will still be in the QuickTime application, meaning none of the custom skins, logos, etc. will show up. It won’t look like the JW Player, it will look like a basic video player embedded into a webpage.

8) XML Playlists don’t work

HTML5 doesn’t support any sort of playlists natively (XML, or any other kind for that matter). Right now, the workaround is to use a JSON playlist instead. In a future release, we will have a workaround for XML playlists, so stay tuned!

Wrapping it Up

I hope this blog post helped clear up some of those remaining questions/misunderstandings that some of you may have about the JW Player 5.3 for Flash and HTML5. If anyone reading still has questions, please feel free to contact us!

Happy Embedding!