HTTP Live Streaming in JavaScript
blog.peer5.com
blog.peer5.com
A more standard-friendly solution is MPEG DASH, which is similar to HLS, but can use MP4 container supported natively by the browsers (as a part of HTML5 video standard)
See: * http://blog.zencoder.com/2011/12/08/announcing-the-clouds-mo... * http://features.encoding.com/blog/2014/02/24/simplify-http-l... * http://stackoverflow.com/questions/15661664/how-do-i-alter-m... * https://trac.ffmpeg.org/ticket/2857
Standard friendly yes. But not nearly as widely supported. Apple HLS runs on adroid, iOS, a large number of set-top-boxes, flash and now javascript.
I think this means the future of DASH is not user friendly: http://www.mpegla.com/main/pid/MPEG-DASH/default.aspx
Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps or lower HTTP Live stream
It's also the only format that works with Apple TV via AirPlay.
If you're already deploying HLS to target iOS and Apple TV (natively as well as in Safari), and HLS is already supported in other devices like Android, desktop browsers via Flash, and now JavaScript, then it seems like the path of least resistance.
I've worked a lot with Ooyala's live streams and was just looking at moving a client over to their HTML5 offering. They claim to offer it in all browsers but that is probably with a flash fallback, they haven't open sourced their JS (or at least I can't see it on their GitHub page).
We also use StreamUK on a lot of sites (but I've never used it directly) and from what I have heard they have great support for HLS. They have no GitHub presence so not quite sure if they're using the same libs the article mentioned or something proprietary.
Obviously DRM would still be an issue unless the browser natively supports EME.
I think we'd have to see 60fps on a Chromebook or similar low-cost machine before we declared the end of Flash streaming.
Actually, with HLS, DRM is an issue on browsers since HLS is not designed to work with EME spec.
By the way, some open source players like https://github.com/canalplus/rx-player implements EME spec to work with DRM, Smooth Streaming Format or MPEG DASH format, that are compatible with the common encryption model.
Actually, since version 11, IE supports HLS. [0]. When Apple streamed their last event, they mentioned on the video page that IE11 is supported. That's when I found out about it.
http://blogs.msdn.com/b/ie/archive/2015/01/29/simplified-ada...
Not sure I would use that sentence to describe a standard that replaces the extended M3U file format (it really whips the llama's ass) with yet another complex XML document.
MPEG-DASH is less of a video standard itself and more of a set of guidelines for new set of adaptive-bitrate streaming standards like DASH-AVC/264.
With such a solution, nearly every client out there can use a natively supported stream format without overhead. Also, Microsoft has a decent cloud offering with Windows Azure Media Services [2] that fixes all of this for you, including optional DRM.
[1] http://www.iis.net/media [2] https://azure.microsoft.com/en-us/services/media-services/
Unless you're Netflix, I wouldn't bother with this stuff yourself. Even then, a lot of (A)VOD sites 'outsource' this stuff to Brightcove or The Platform.
Here is the Firefox bug (from 2010) tracking HLS support: https://bugzilla.mozilla.org/show_bug.cgi?id=577084
With DASH I have been able to achieve 5s by using small chunks and a short interval between iframes.