Playing HLS Video in Flash

**Updated with fixed links. Sorry about that!
GitHub

I’ve recently started work on a side project. It’s going to be a front end client for a media management server (Plex), which means it’s going to serve up lists of content and play back videos/music. One of the things that makes Plex a great media server is that it can transcode videos on the fly to optimize playback for the device that’s requesting the file. The problem with this is that the transcoding spits out HLS which is not playable in the vast majority of web browsers.

Luckily, there are a lot of smart people out there and I was able to find an open source HLS plugin for Adobe’s OSMF project. The only downside is that the plugin didn’t quite work right in the latest version of OSMF (2.0 at the time of writing). That’s OK though, because I know a lot about OSMF and I was able to update the plugin.

The plugin I’m using isn’t 100%. It plays video just fine, but I’m sure there’s a lot of parts of the HLS specification that aren’t supported. In particular, live streaming (especially DVR) may not work properly or at all. One major issue is that seeking isn’t working right now. I’ll look into that at a future time, as that’s something I most definitely need for my project.

The open source project I forked is available on Google Code here.
My version of the plugin that works with OSMF 2.0, along with a sample player.
See the example in action here.

So while this is far from complete, it’s a good start. More importantly, it helps to demonstrate that HLS playback is entirely viable in Flash which, in my opinion, is going to be super important going forward.

There are several other Flash HLS implementations which may do the job better. I wanted to use OSMF though, which is why I’ve got with the particular library that I did. Of note, here are two main projects that enable HLS in Flash.
A expensive, closed source OSMF plugin.
This is a branch of JW Player which supports HLS.

7 Comments

    Just wondering if the link to Github that reflects your work here is going to be live ever again? Looks super super cool!
    Best,
    – Peter

      Sorry for the delayed response, it’s been busy! I’ve updated the article with fixed links.

      • by Nathan Weber
      • 9:59 am, December 6, 2012
      • Reply

    Was very excited when I found this blog post! What happend to the project, you removed the repo?

    • by Magnus
    • 4:29 am, November 30, 2012
    • Reply

      Sorry about that everybody! I did some reorganizing and that repo got lost in the shuffle. I’ve reuploaded the source code, removed the links that fail due to crossdomain.xml issues, and fixed a small bug.

      • by Nathan Weber
      • 9:59 am, December 6, 2012
      • Reply

    Hi Nathan,

    I was wondering if you have done any more work with this plugin. I am searching for an HLS plugin specifically for content that will use live streaming and DVR features. Were you ever able to get that to work?

    Thanks!

    • by Kayla
    • 3:42 pm, October 21, 2013
    • Reply

Leave a Reply to Nathan Weber Cancel reply