Live data from Hacker News

HTTP Live Streaming in JavaScript

blog.peer5.com

21–30 of 33 posts

Re: HTTP Live Streaming in JavaScript

#21
post #7

>but Chrome, Firefox, and IE still don’t use this technology on their desktop versions 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...

IE11 running on Windows 10

Re: HTTP Live Streaming in JavaScript

#22
> Dash basically takes all of the good stuff from HLS and gets rid of the bad pieces.

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.

Re: HTTP Live Streaming in JavaScript

#24

A better solution would be to deploy a media server that can provide multiple stream formats. For example, Microsoft IIS Media Services [1] supports Microsoft's Smooth Streaming, HLS and MPEG-DASH without having to re-encode video for each format. 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 Az…

I think at the end of the day the better solution for most people would be to use something like Brightcove, The Platform, Ooyala, Adobe, paid Vimeo, or even Youtube. 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.

If you want white label solution, using Brightcove, Ooyala, etc' are too expensive for certain business models.

Re: HTTP Live Streaming in JavaScript

#25
post #18

Has anyone implemented HLS or DASH in an application that required low-latency? How low were you able to get it? With DASH I have been able to achieve 5s by using small chunks and a short interval between iframes.

I've talked with a few guys from jw and videojs They've said to reach sub 2s using hls. They did that with <1s chunks and progressive streaming of a single chunk.

Re: HTTP Live Streaming in JavaScript

#27
post #2

Great article. I think we can actually talk about flash being replaced now that we have a real solution for HTML5 live streaming. Flash was never going to go away until there was something that could handle the DRM across all browsers. 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 fl…

>All tests were done on Intel Corei7-4810MQ machine. I think we'd have to see 60fps on a Chromebook or similar low-cost machine before we declared the end of Flash streaming.

I agree we should do tests on low-cost machines as well. But at least on my machine the js libraries performed better than the Flash ones. So moving to flash-less should improve performance.

Re: HTTP Live Streaming in JavaScript

#28
This is a great article! Been thinking of writing one myself for a while now. I have a project (https://github.com/johnBartos/RadioFreeTwitch) which siphons Twitch's HLS streams and extracts the audio-only portion from its manifest file. Up until recently, it's been near impossible to get a reliable, easy to use solution for non-flash HLS. So I shelved the project until the technology matured. Just last night I decided to take a crack at a flashless solution and was blown away by how easy it was - I use Flowplayer, and hlshjs (https://github.com/flowplayer/flowplayer-hlsjs) was just plug-and-play for me.

Re: HTTP Live Streaming in JavaScript

#30
post #8

The problem with Apple HLS is that it uses MPEG TS container, which is not supported natively by the browsers (except Safari). So, any implementation of HLS in Chrome/Firefox should do the job of extracting video/audio from container using JavaScript (or Flash, like FlashHLS player does). A more standard-friendly solution is MPEG DASH, which is similar to HLS, but can use MP4 container supported natively by the brows…

The MPEG-TS container (from 1995!) is also a lot less efficient than the more modern MP4 container. Overhead can range from 5% to 30% with bad muxing settings. 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

I wonder how much of the transcoding of MPEG-TS to MP4 for MSE could be written in optimized asm.js code.
Post reply on HN