Dash-Industry-Forum / dash.js

A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html
Other
5.1k stars 1.67k forks source link

dash.js iOS Chrome / Safari Playback #3303

Closed interpegasus closed 4 years ago

interpegasus commented 4 years ago

Steps to reproduce

  1. Video Playback on iOS Chrome / Safari is not working on test device.

Question Hi, I would like to know if iOS mobile web browsers are supported. Or if it is possible to use a polyfill or solution that allows playback on iOS?

Thanks.

dsilhavy commented 4 years ago

Hi, iOS does not support the MediaSourceExtensions which are required to use dash.js. On iOS devices you have to use HLS.

However, you can use CMAF segments in your DASH and your HLS manifest if you want to use a single media container format. In any case you need to create a valid HLS manifest file for playback on iOS devices.

piersoh commented 4 years ago

iOS has supported MSE since iOS13 - see: https://caniuse.com/#feat=mediasource

wilaw commented 4 years ago

The note says "Fully supported only in iPadOS 13 and later.",. Dash.js (or any MSE-based player) will play fine on IpadOS13 or later. iOS is not the same operating system as IpadOS and I'm not sure why caniuse conflates the two. But iOS on mobile phones and older IOS tablets does not support MSE or EME and this is a well-known pain point in the industry.

dsilhavy commented 4 years ago

Agreed, I saw dash.js working on iPadOS but not on iOS.

interpegasus commented 4 years ago

Thanks, very helpful information. Hopefully Apple will add MediaSource support soon to iOS.

martin-braun commented 3 years ago

@dsilhavy In case of encrypted media content: Without the media source extensions on iOS, we cannot serve encrypted content on iOS at all, right? So if someone fakes their user agent, the unencrypted video data can be downloaded, easily, right?

Is there nothing else we can do about it. How do big players protect against that, i.e. Netflix, etc.?

I know, at the very end, everybody can start recording their screen, but it's objective is not to get a 100% secure system, but at least prevent mass downloading of content faster than it can be watched, at least.