Hacker News new | ask | show | jobs
by marquis 3942 days ago
Chrome supports its own streaming method, MPEG-DASH with H.264 which is what Youtube runs on where possible. Firefox stated it won't support H.264 on principle (although it does now, for WebRTC). Android supports HLS, as does iOS, out of the box. HLS was designed to supersede RTSP however we also have the equally-ubiquitous RTMP, which Flash supports natively. You can get an HLS stream via Flash with an add-on to some clients so now this will work on IE, Chrome Firefox, and there are also some custom, proprietary clients out there for h.264/HLS. It's not a pleasant ecosystem right now..
3 comments

To clarify a number of points:

- Chrome (and other browsers) support MPEG-DASH via javascript through the Media Source Extensions (MSE) (which Safari actually supports[1])

- Firefox does not "bundle" H.264 (because of licensing) but has recently supported it where the OS provides it[2].

- HLS and MPEG-DASH are fairly similar in theory, but in practice HLS requires complete (with header/metadata) chunks whereas MPEG-DASH can "arbitrarily" chunk a video file and just feed into a MSE video stream. Both work with manifest files detailing different resolutions/qualities and chunk sizes + offsets.

[1] https://en.wikipedia.org/wiki/Media_Source_Extensions#Browse...

[2] https://developer.mozilla.org/en-US/Apps/Build/Audio_and_vid...

Firefox supports H.264 via system codecs, and supports MPEG-DASH as of version 41 (currently beta, will be stable in a few weeks). MPEG-DASH is a more open standard, and has better support for adaptive bitrate streaming, so I think it's likely to become the defacto standard in the future. It's fairly new so isn't supported everywhere yet, but it's getting there, and seems to have a lot more industry support than other options.
Firefox supports h264 just fine and has done so for about a year.
Yes, thanks to the open source H.264 codec from Cisco. This is about open source options and I think Firefox's decisions are completely valid.

https://gigaom.com/2014/10/14/h-264-support-arrives-in-firef...

The way that article is written makes it sound like a closed-source codec, but it is actually open:

https://github.com/cisco/openh264

and the code is better than I expected from a commercial project, it even uses may_alias properly. I wonder why the decoder doesn't support CPU multithreading, though? Slice threads are pretty simple to add.

It's about the patents.

"while OpenH264 is not truly open, at least it is the most open widely used video codec"

http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

Well Web rtc in firefox uses the "H.264 codec from Cisco".

Normal videos like youtube uses the operating system decoder.