8
votes

I am trying to write a java script based implementation of MPEG-DASH for video streaming . I have referenced following documents

These libraires are using MSE (Media Source Extensions)

My understanding

MPEG-DASH is an international standard for streaming video . but is currently not naively supported in iOS devices. In other browsers and devices, it requires a java script library or a video player that supports MPEG-DASH. (eg: Dash.Js ,Shaka player etc.)

And another streaming technology is HLS . It is an adaptive streaming communications protocol created by Apple. The Safari browser can play HLS streams within a web page, iPhone, and iPod touch devices.

Here we can see that MPEG-DASH (because of MSE) currently not naively supported in iOS devices.

Now my doubts

  1. How can we stream MPEG-DASH videos in iOS with out MSE ?
  2. How Facebook and other streaming media services play their videos ? is it with HLS only ?

Any suggestion/explanations would be more helpful .

3
Clarification caniuse.com/?search=mse MPEG-DASH is currently supported in iPad OS, they even bragged about implicitly in an iPad keynote. I suspect this is carrier pleasing, like "5Ge." But also, battery life will be better if you don't watch HD video and use fallbacks instead.Ray Foss

3 Answers

10
votes
  1. You can’t.

  2. Yes they use HLS. iOS 10 and above support fmp4 in HLS. so the only difference between dash and hls is the manifest.

1
votes

Try providing both HLS and DASH containers and let media queries choose the appropriate one.

0
votes

You can setup proxy server on a device and then create a parser that will be translating mpd files into m3u8 and serve m3u8 for AVPlayer. For ios proxy GCD should do the trick: GCDWebServer