When would you use DASH over HLS (and vice versa)

44 views
Skip to first unread message

Mark Boas

unread,
Jul 17, 2014, 5:23:55 AM7/17/14
to das...@googlegroups.com
Hi All,

I just wanted to run something by the DASH community as you've been very helpful in the past.

I'm tasked with putting together a flow-chart for Mozilla Developer Network to help users decide the type of adaptive streaming to use.

I'm trying to figure out a suitable question to ask that would result in 'You should probably use DASH' or 'You should probably use HLS' box depending on the yes or no response. Actually it could be more than one question.

I know that DASH provides an “ondemand” profile, which would allow for contiguous source files and a cleaner and more concise manifest. Which pretty much makes it easier to get started from a work-flow perspective.

Also it appears that most 'user friendly' - do it yourself HLS encoding software runs only on OSX - is this correct?

Web-standards-wise it looks like DASH will be supported by more browsers http://stackoverflow.com/a/22787831 Only Safari looks set not to support.

HLS seems better supported natively on iOS, latest Android and platforms such as Xbox.

Finally it would seem that DASH is more compatible with MSE (Media Source Extensions) in the sense that some of the decoding is offloaded to JavaScript. I don't see any mention of this with HLS. The advantage here I guess that it's easier to have an up-to-date codec (?).

These are my thoughts but they don't really fit the form of a flow-chart just yet. But if anybody has any comments on all of this - I'd love to hear them.
 
In case it's of interest - here's my previous article on streaming for MDN https://developer.mozilla.org/en-US/Apps/Build/Manipulating_media/Live_streaming_web_audio_and_video Feel free to comment, criticise or change.

Thanks very much in advance!

Mark
-- 
Mark Boas
skype: mark_boas
follow: @maboa @jplayerorg

Christian Timmerer (ITEC)

unread,
Jul 17, 2014, 6:29:50 AM7/17/14
to Mark Boas, das...@googlegroups.com

Dear Mark,
  dash.js email reflector is related to the DASH-IF reference software implementation and your questions are more generic which you might want to post also elsewhere (e.g., DASH-IF linkedin group)

However, see my responses inline.

Best regards,
 -Christian

:--
:- Priv.-Doz. Dr. Christian Timmerer
:- Assoc.-Prof., Multimedia Communication, Alpen-Adria-Universität Klagenfurt
:- research.timmerer.com | selab.itec.aau.at | dash.itec.aau.at | bitmovin.com
------------------------------------------------------------------------------------------------------

On Jul 17, 2014, at 11:23 AM, Mark Boas <ma...@happyworm.com> wrote:

Hi All,

I just wanted to run something by the DASH community as you've been very helpful in the past.

I'm tasked with putting together a flow-chart for Mozilla Developer Network to help users decide the type of adaptive streaming to use.

I'm trying to figure out a suitable question to ask that would result in 'You should probably use DASH' or 'You should probably use HLS' box depending on the yes or no response. Actually it could be more than one question.

I know that DASH provides an “ondemand” profile, which would allow for contiguous source files and a cleaner and more concise manifest. Which pretty much makes it easier to get started from a work-flow perspective.
DASH is very flexible and supports various profiles incl. live and on demand.


Also it appears that most 'user friendly' - do it yourself HLS encoding software runs only on OSX - is this correct?
More and more cloud-encoding platforms support both HLS and DASH to be used in do it yourself mode ;)


Web-standards-wise it looks like DASH will be supported by more browsers http://stackoverflow.com/a/22787831 Only Safari looks set not to support.
http://techblog.netflix.com/2014/06/html5-video-in-safari-on-os-x-yosemite.html indicates that Safari will support MSE in the future and, thus, DASH segment formats. It has been confirmed already that dash.js is working on the new Safari which will part of OS X Yosemite


HLS seems better supported natively on iOS, latest Android and platforms such as Xbox.
iOS requires HLS according to Apple's developers guidelines. DASH on Android works.


Finally it would seem that DASH is more compatible with MSE (Media Source Extensions) in the sense that some of the decoding is offloaded to JavaScript. I don't see any mention of this with HLS. The advantage here I guess that it's easier to have an up-to-date codec (?).
MSE has been designed with DASH in mind. MSE defines byte streams according to ISOBMFF and M2TS (both supported in DASH, the latter supported in HLS).

DASH is codec agnostic but defines the segment format (ISOBMFF, M2TS). What you put inside and how, it's up to you (MPEG-4, AVC, HEVC, AAC, etc.). DASH-IF defines interoperability points to make everyone's life easier by including codec information and how to put it into ISOBMFF.


These are my thoughts but they don't really fit the form of a flow-chart just yet. But if anybody has any comments on all of this - I'd love to hear them.
 
In case it's of interest - here's my previous article on streaming for MDN https://developer.mozilla.org/en-US/Apps/Build/Manipulating_media/Live_streaming_web_audio_and_video Feel free to comment, criticise or change.
Thanks. Our bitcodin [1] and bitdash [2] white papers include a comparison of different approaches which might be interesting for you. Overview can be found here [3]


Thanks very much in advance!

Mark
-- 
Mark Boas
skype: mark_boas
follow: @maboa @jplayerorg

--
You received this message because you are subscribed to the Google Groups "dash.js" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dashjs+un...@googlegroups.com.
To post to this group, send email to das...@googlegroups.com.
Visit this group at http://groups.google.com/group/dashjs.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages