2

We are working on a mobile video app and need to decide on the video protocol between HLS or MPEG-DASH.

Our key consideration is which of the 2 has a better support and compatibility for browsers and mobile platforms (iOS, Android)?

The video content is recorded/uploaded/watched on a mobile app, but also needs to be shared for viewing on browsers.

It seems initially that HLS has a wider range of platforms support, but would love to hear from anyone's experience.

Thanks!

kuchmuch
  • 21
  • 3
  • 3
    Hi, I have worked on the streaming app before, HLS will be really good. if you are using native iOS player and you need CC then definitely HLS is the best option – Sanjeev Sundaravarathan Jun 04 '20 at 11:08
  • 1
    2nd @SanjeevSundaravarathan - HLS has much better support, you can use hls.js to support in browsers. – Luke Jun 04 '20 at 13:55
  • thanks for the comments and tip re hls.js. Would u then suggest going with HLS and on Android using DASH? – kuchmuch Jun 08 '20 at 07:51

1 Answers1

3

You will most likely find you have to support both at this time if you want to reach as many users as possible, especially if the content is encrypted.

iOS and Safari typically use HLS and FairPlay, Android, Firefox and Chrome use DASH and Widevine and Windows and Edge use DASH and PlayReady.

At this time, Apple iOS devices must use HLS for content greater than 10 mins over a mobile network:

2.5.7 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps HTTP Live stream. (https://developer.apple.com/app-store/review/guidelines/)

For this reason streams served to Apple devices are usually HLS, while DASH is used for other devices.

If you streams are not encrypted you can use CMAF a single source file. If they are encrypted then it will be some time before devices support a single CMAF encrypted source - See more detail here: https://stackoverflow.com/a/62020034/334402

CMFA info here: https://developer.apple.com/documentation/http_live_streaming/about_the_common_media_application_format_with_http_live_streaming

Mick
  • 24,231
  • 1
  • 54
  • 120