Skip to main content

ActionScript: Flowplayer vs. Open Source Media Framework

I've been playing around with Flowplayer, which is an "Open Source (GPL 3) video player for the Web". I decided to check out the Open Source Media Framework (formerly known as Strobe), which "enables developers to easily assemble pluggable components to create high-quality, full-featured playback experiences." In short, if you need a Flash video player today, stick with Flowplayer. The OSMF just isn't ready for prime time. It's a large framework written by a large company (Adobe). It's not a simple, hackable video player that you can throw on a production website in a couple of hours.

The website reeks of corporate speak. For instance, here is part of the page that talks about plugins:
One the primary goals for OSMF is to provide a set of standard APIs for video ecosystem service integration so that player integration is no longer a barrier in the market. The framework will have a plugin API that allows for integration of client-side code for the full range of ecosystem services, including media delivery, media composition for advertising, event reporting for audience measurement, and other rich experiences. The plugin API is designed to support dynamic plugins as SWFs and integrated plugins as SWCs in a way that makes it straight forward for the same provider to support both scenarios.
When I read the document for writing a plugin, it sounded more like a functional spec than real documentation:
Summary of Features: User Story: As a plugin provider, I need examples for how to create a media plugin and ideally a basic composition plugin. I also need the ability to specify when a specific version of my plugin works with a specific version of the Strobe framework. If a player tries to load a version of my plugin that the player won't support, the framework should be aware and pass info through for graceful error handling. I also want to be able to support multiple versions of my plugin.
I clicked to read the Developer Documentation, and the only thing they had was "On-line API Documentation". That means they ran a tool like JavaDoc to pull the comments out of their source code. In fact, the tool mixes the API documentation in with the normal ActionScript API docs:
Overview of the ActionScript 3.0 Language Reference
including the Open Source Media Framework API
The one thing the OSMF has going for it is that the source code is very regular and clean. It's large and Java-esque, but at least the style and comments look regular. Flowplayer's code isn't bad, but I wouldn't call it "polished".

The OSMF requires Flash 10, whereas I was hoping to stick with Flash 9 since the adoption rate is higher. Here's a comment from another poster:
While I am sure OSMF can do well with small content media companies, I find it hard to believe that large media content companies will join before flash player 10 penetration is about 96% - 98%. The reason OSMF compile for FP10 is that OVP uses some of the new features in FP10 to do dynamic switching etc, it can be modified so OVP doesn’t uses the FP10 capabilities and will position the framework better.
Based on looking at this blog post, the OSMF doesn't even provide default player controls. That's a heck of a lot of code to not even provide player controls!

I don't know a lot about ActionScript, but I do know a lot about open source. Open source projects tend to tend to go nowhere unless they address the following:
  1. The code must be easy to build and do something useful by default.
  2. If it's a library, the documentation must make it very easy to get started. Framework API docs don't count.
  3. The code must be stable. (I haven't run the OSMF, so I can't comment on that.)
  4. It must be easy to hack the code to accomplish what you want.
  5. It must be easy to contribute back to the project. (I can't even look at the existing OSMF bugs without creating an account.)
Frameworks start out life with 2 strikes against them because they don't do anything useful by default, and they take a lot of time to understand. In contrast, applications (like Emacs or Firefox) do do something useful by default, but are still straightforward to customize.

In summary: It requires Flash 10. It doesn't have player controls by default. It's written like a massive Java framework. It lacks good documentation to help you get started. It does have nice source code, but at this point, it's simply not a viable alternative to Flowplayer.

Comments

jjinux said…
Brad I./24/M/RockIsland,IL recommended http://www.longtailvideo.com/.
jjinux said…
Yeah, LongTail looks awesome! I love the number of sheer volume of useful plugins they have.
jjinux said…
Kamil B./30/M/ZielonaGóra,Poland wrote:
"You can try players at flashden.net, they have range of choices there."
flexy said…
Hey, interesting read, but I have a few comments:

Flash Player 10 is currently at 93% in mature markets, and at least at 90% in all other markets. These stats were recorded in September, and I would imagine that FP10 will reach the figures you stated you require within the next quarter.

OSMF is still very young and not yet at its 1.0 release. You could be right that it may not yet address all of the features of FlowPlayer 3.5, but that's not to say it (and players people build using OSMF) won't in the near future.

Adobe deliberately aren't pitching OSMF to the beginner/intermediate ActionScript community at the moment for exactly the reasons your cite. OSMF is geared at the developers who build players like FlowPlayer, not necessarily the people who consume FlowPlayer.

For the record, I don't work for Adobe, I'm a developer who has been following the OSMF project closely for sometime.
jjinux said…
Flexy, thanks for listening to my ravings, and responding with useful comments ;)
Unknown said…
Hey, Thanks for the review. I have a couple of comments. The OSMF is built on top of the open video player source code http://openvideoplayer.sourceforge.net/

So controls are built in,maybe just a little more difficult to implement than say flowPlayer. I have been comparing the two players for a streaming video player with akamai's service. For us OSMF is the winner. Out of the box it supports akamai streaming as well as plug ins for ad support. For what is not built already it is easily extensible to a developer who knows as3.

Cheers,
evan
jjinux said…
Thanks for the comment, gevan. I've been pretty happy with JW Player for the last week, although I haven't finished tweaking it yet.
flexy said…
It's probably worth adding at this point that Open Source Media Framework (OSMF) and Open Video Player (OVP) are two separate projects and shouldn't be confused.
jjinux said…
Thanks. I haven't looked at the OVP at all.

It turns out that JW Player version 4.6 best addresses my needs. It supports bitrate switching, but only requires Flash 9. It's also been pleasant to hack on, aside from requiring CS 4 (version 5 doesn't).

I'm sure the situation may be different 6 months from now as JW Player 5 implements bitrate switching, Flash 10 becomes more common, and the OSMF is further along.
flexy said…
My feeling is that if JW Player is supporting bit-rate switching with Flash Player 9 it isn't the true 'Dynamic bit-rate switching' offered by Flash Player 10 and FMS3.5. It is possible to switch between streams without the new player or server, but I expect it won't be completely seamless. If that isn't the case, I'd be keen to find out :)
jjinux said…
I was watching a video at full screen, and it was switching dynamically. It only works with FMS. I don't believe Flowplayer could do it seamlessly, but it's something that drew me to JW Player.

"However, if the RTMP server is Flash Media Server 3.5, the level is continously being evaluated (every 2 seconds), in a mechanism Adobe calls dynamic streaming." See: http://www.longtailvideo.com/support/tutorials/Bitrate-Switching
Chetan Sachdev said…
I agree, OSMF isn't as flexible as flowplayer. As OSMF is still in its beta phase. But before choosing a player, I take a look at how much customizable it is. FlowPlayer in that sense, is easy, with integration of plugins. So, +1 for flowplayer :)
S Raaj Nishanth said…
Now that OSMF is out of the beta phase and is quite evolved, what would your current review be? Will the above review still hold good?
jjinux said…
Sorry, I haven't tried OSMF since it's out of the beta phase, so my review would need to be re-evaluated. Unfortunately, I don't have time for that right now.

Popular posts from this blog

Drawing Sierpinski's Triangle in Minecraft Using Python

In his keynote at PyCon, Eben Upton, the Executive Director of the Rasberry Pi Foundation, mentioned that not only has Minecraft been ported to the Rasberry Pi, but you can even control it with Python. Since four of my kids are avid Minecraft fans, I figured this might be a good time to teach them to program using Python. So I started yesterday with the goal of programming something cool for Minecraft and then showing it off at the San Francisco Python Meetup in the evening.

The first problem that I faced was that I didn't have a Rasberry Pi. You can't hack Minecraft by just installing the Minecraft client. Speaking of which, I didn't have the Minecraft client installed either ;) My kids always play it on their Nexus 7s. I found an open source Minecraft server called Bukkit that "provides the means to extend the popular Minecraft multiplayer server." Then I found a plugin called RaspberryJuice that implements a subset of the Minecraft Pi modding API for Bukkit s…

Apple: iPad and Emacs

Someone asked my boss's buddy Art Medlar if he was going to buy an iPad. He said, "I figure as soon as it runs Emacs, that will be the sign to buy." I think he was just trying to be funny, but his statement is actually fairly profound.

It's well known that submitting iPhone and iPad applications for sale on Apple's store is a huge pain--even if they're free and open source. Apple is acting as a gatekeeper for what is and isn't allowed on your device. I heard that Apple would never allow a scripting language to be installed on your iPad because it would allow end users to run code that they hadn't verified. (I don't have a reference for this, but if you do, please post it below.) Emacs is mostly written in Emacs Lisp. Per Apple's policy, I don't think it'll ever be possible to run Emacs on the iPad.

Emacs was written by Richard Stallman, and it practically defines the Free Software movement (in a manner of speaking at least). Stal…

Creating Windows 10 Boot Media for a Lenovo Thinkpad T410 Using Only a Mac and a Linux Machine

TL;DR: Giovanni and I struggled trying to get Windows 10 installed on the Lenovo Thinkpad T410. We struggled a lot trying to create the installation media because we only had a Mac and a Linux machine to work with. Everytime we tried to boot the USB thumb drive, it just showed us a blinking cursor. At the end, we finally realized that Windows 10 wasn't supported on this laptop :-/I've heard that it took Thomas Edison 100 tries to figure out the right material to use as a lightbulb filament. Well, I'm no Thomas Edison, but I thought it might be noteworthy to document our attempts at getting it to boot off a USB thumb drive:Download the ISO. Attempt 1: Use Etcher. Etcher says it doesn't work for Windows. Attempt 2: Use Boot Camp Assistant. It doesn't have that feature anymore. Attempt 3: Use Disk Utility on a Mac. Erase a USB thumb drive: Format: ExFAT Scheme: GUID Partition Map Mount the ISO. Copy everything from the I…