**Updated with fixed links. Sorry about that!
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.
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.