Embedded FLV video players: Flowplayer and JW Player

Over the past several months, I have worked with both Flowplayer and JW Player as embedded FLV video players.

Why wouldn’t you just upload your videos to YouTube and use their embedded player? That’s a pretty fair question, as I think YouTube provides:

  • An excellent player that your users are already familiar with
  • A variety of options to control the appearance (e.g. you can disable related videos)
  • High-availability bandwidth

Of course there are several drawbacks:

  • Limits on length and file size
  • Critical infrastructure is no longer in your control
  • Their logo appears on your site
  • Progressive download only (no streaming)

Let’s take a look at both Flowplayer and JW Player:

Both players offer simple configuration options as well as numerous additional options for users who are able and willing to change a few config options or write a few lines of Javascript. Both include cross-browser Flash embedding scripts. Both support progressive download of FLVs and MP3s and a variety of streaming servers (I’ve been working with Wowza).

Flowplayer is pretty slick right from the start. The default skin is very attractive, and the Javascript is very easy to work with. However, I have run into few issues using Flowplayer:

  • Breakneck release schedule (8 releases in the past 5 months–2.24-3.0.7–and 3.1 will be out soon)
  • Unresolved errors with “filmstrips” (audio with still images)
  • Inconsistent documentation and support
  • No streaming for MP3s

You might think that a lot of new releases is a good thing, because new features are constantly being added. But a lot of the releases fix bugs that probably should never have made it to a release version, and even releases that only include new features require a lot of testing on my part to make sure that our old customizations still work and that everything is cross-platform and cross-browser compatible. Flowplayer’s frequent releases lead to serious upgrade fatigue.

The “filmstrip” issue probably doesn’t affect many users, most of whom are probably using strictly MP3s and FLVs. But I have occasionally had use to post a series of MP3s, each with its own accompanying JPEG. Although Flowplayer supports this by adding a JPEG followed by an MP3 in a playlist, if you use “rewind” to the previous clip it goes back to the MP3–but not the accompanying image.

Although the documentation has improved dramatically since I first started using it–config parameters now include lists of valid options or formats–their examples are occasionally buggy. I have a feeling this is in part due to their release schedule, which would require substantial testing of their various examples across browsers. Their forums seem to get a fair amount of use, and the developers are present to answer questions–but occasionally an important question goes completely unanswered. They do offer paid support, which presumably guarantees a response.

Also, one of the developers has a photo of a man without a shirt (presumably himself) for his forum icon. Mind you, there are several bare-chested photos of me online, but none that I use for professional purposes. He’s Finnish, so possibly they have a more relaxed sense of decorum!

MP3s automatically use progressive download instead of streaming (unless I didn’t set it up properly, which is always a possibility).

JW Player, on the other hand seems to be a more mature product. Their release schedule follows a (somewhat) more reasonable pace, and includes substantial detail about new features and bug fixes. I have had fewer errors and issues configuring JW Player than I had with Flowplayer. However, JW PLayer has a few drawbacks as well:

  • Documentation information hard to locate
  • Javascript not as slick
  • Overall look not as polished

The JW Player site is sprawling and a bit unorganized. You’d expect to find a link somewhere labeled “documentation,” but if you wanted to find a list of supported config parameters you’ll need to go to Support–Developers’ Wiki. Their forums are organized into categories, but you can’t restrict a search to a specific category. (Both JW Player and Flowplayer could benefit from improved site searches, in my opinion.) Although the software behind the Flowplayer forums is superior, I’ve never had an unanswered question on the JW Player forums. (I don’t know if the responses have come from developers or other users, but it’s something to consider.)

While Flowplayer’s Javascript looks very much like jQuery (and works with jQuery), JW Player’s Javascript looks a little clumsy by comparison. I wrote wrapper functions for both to supply my most frequently used config parameters, so I never use their code directly. But it’s something to consider.

The JW Player controls do not look as good as Flowplayer’s. JW Player does offer a variety of different skins, as well as tutorials on customizing existing skin files or creating your own, but none of the existing skins look as good, to me, as the default Flowplayer controls (you can supply a custom Flowplayer controlbar as well). JW Player skins offer built-in playlist functionality, toggled on or off with a config parameter (which is convenient–Flowplayer requires a Javascript plugin), but it does not look as good as the Flowplayer playlist, nor is the look as easily modified.

Both are clearly good players, but at this point in time I am recommending JW Player over Flowplayer. Although Flowplayer’s look is more polished, JW Player seems the more reliable and mature product. Your experience with either of these players, or other Flash-based video players, is welcome.

7 thoughts on “Embedded FLV video players: Flowplayer and JW Player”

  1. Good review of the player options. It’s quite amazing that these are the only two major embeddable players out there. Adobe just announce they will release an open player initiative to be launched in Q3 of 09, so I’ll keep my fingers crossed.

    My take on the player is similar to yours. For the time being, JW is just the better platform. It’s easier to skin, fairly reliable, and mature. The API’s are well documented and easy to follow. The plugins on the other hand are a joke. Most of them don’t work right – like the Google Statistics integration which leaves you wondering just what the heck it is tracking. The Viral component is pretty much useless, and unless you want to drop major coin you may as well forget about the ad plugin as well. Skinning is pretty easy if you know your way around Flash.

    FlowPlayer is new to the scene and their website has a wealth of well structured information. They make heavy use of external libraries like JQuery. The result is a documentation that is comprised of a bunch of JavaScript/JQuery tutorials. I find the skinning options insufficient at this point plus I rarely find good examples of sites using the player. As of recent they added media rss support so I guess I’ll take another look.


  2. Great review of the video players. Have recently hosted a number of videos on AmazonS3 and been doing some research regarding video players and appreciate your comments.

    Keet the great reviews coming.


  3. Well, I couldn’t agree more. Flowplayer blows you away with looks, but not everything works out of the box. Bugs haven’t been fixed for months, and they don’t do enough testing with all the browsers out there. JWPlayer definitely seems to be much more mature product, but doesn’t offer as many features and pluggable extensions as Flowplayer. The silver lining with JWPlayer is it works out of the box and as expected.
    Right now I am racking my brains to fix bugs by myself in Flowplayer, but am definitely considering options.

  4. It has been 3 years since the original fine review. My experience has been like that of @Kisalay, although I am not convinced that JWPlayer “works out of the box.” I have no data on that, however, Flowplayer failures seem to arise from inconsistencies in Flash and browser HTML5 implementation. Asynchronous events create inconstant failures for which there appears to be no reliable access to the significant threads. Trying to solve that by setting javaScript timers to assess state is like herding cats. Beware of W3C optimism about pre-2014 HTML5 adoption and transition possibilities. Beware of bidding a fixed-price project with video.

Leave a Reply

Your email address will not be published. Required fields are marked *