diff --git a/README.md b/README.md index d78f4117b9..f4750694ce 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,17 @@ build and deploy is in the sources. ## Platform and browser support matrix -|Browser |Windows |Mac |Linux |Android |iOS⁶|ChromeOS|Other| -|:---------:|:--------:|:-------:|:-------:|:-------:|:--:|:------:|:---:| -|Chrome¹ |**Y** |**Y** |**Y** |**Y** | N |**Y** | - | -|Firefox¹ |**Y** |**Y** |**Y** |untested⁵| N | - | - | -|Edge¹ |**Y** | - | - | - | - | - | - | -|IE ≤ 10 | N | - | - | - | - | - | - | -|IE 11 |**Y** ⁴ | - | - | - | - | - | - | -|Safari¹ | - |**Y** | - | - | N | - | - | -|Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵| N | - | - | -|Chromecast²| - | - | - | - | - | - |**Y**| -|Tizen TV³ | - | - | - | - | - | - |**Y**| +|Browser |Windows |Mac |Linux |Android |iOS |ChromeOS|Other| +|:---------:|:--------:|:-------:|:-------:|:-------:|:--------:|:------:|:---:| +|Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Y** | - | +|Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**| - | - | +|Edge¹ |**Y** | - | - | - | - | - | - | +|IE ≤ 10 | N | - | - | - | - | - | - | +|IE 11 |**Y** ⁴ | - | - | - | - | - | - | +|Safari¹ | - |**Y** | - | - |**Native**| - | - | +|Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵|**Native**| - | - | +|Chromecast²| - | - | - | - | - | - |**Y**| +|Tizen TV³ | - | - | - | - | - | - |**Y**| NOTES: - ¹: Only the latest stable version is tested and supported. Older releases may still be usable, and we will accept pull requests for them, but they will not be officially tested or supported. @@ -42,7 +42,19 @@ NOTES: - ³: Tizen 2017 model is actively tested and supported by the Shaka Player team. Tizen 2016 model is community-supported and untested by us. - ⁴: IE 11 offers PlayReady support on Windows 8.1 and Windows 10 only. IE 11 can play clear content on Windows 8.0. IE 11 does not support adaptive playback on Windows 7 and under. - ⁵: These are expected to work, but are not actively tested by the Shaka Player team. - - ⁶: All iOS browers use the same HTML engine (Apple WebKit) and are not supported because they lack MediaSource support. For more information, see: https://github.com/google/shaka-player/issues/997 + +We support iOS through Apple's native HLS player. We provide the same top-level +API, but we just set the video's `src` element to the manfiest/media. So we are +dependent on the browser supporting the manifests. + +### Shaka Player Embedded (for native iOS) + +We have another project called [Shaka Player Embedded][] that offers the same +features and similar APIs for native apps on iOS. This project uses its own +media stack, which allows it to play content that would otherwise not be +supported. This supports both DASH and HLS manifests. + +[Shaka Player Embedded]: https://github.com/google/shaka-player-embedded ## Manifest format support matrix diff --git a/docs/tutorials/faq.md b/docs/tutorials/faq.md index 968867c6a7..f1b1c2f759 100644 --- a/docs/tutorials/faq.md +++ b/docs/tutorials/faq.md @@ -173,6 +173,20 @@ works: `.drm.advanced..audioRobustness` and `.drm.advanced..videoRobustness` (see [docs][AdvancedDrmConfiguration]). +
+ +**Q:** Does Shaka Player support iOS? + +**A:** Starting in v2.5, we support it through Apple's native HLS player. So +you can use the same top-level APIs; but we are dependent on the browser +handling the streaming. So we won't support DASH on iOS since the browser +doesn't support it. + +We have another project called [Shaka Player Embedded][] that offers the same +features and similar APIs for native apps on iOS. This project uses its own +media stack, which allows it to play content that would otherwise not be +supported. This supports both DASH and HLS manifests. + [386]: https://github.com/google/shaka-player/issues/386#issuecomment-227898001 [489]: https://github.com/google/shaka-player/issues/489#issuecomment-240466224 @@ -185,6 +199,7 @@ works: `.drm.advanced..audioRobustness` and [BigInteger.js]: https://github.com/peterolson/BigInteger.js [CORS]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS [DashManifestConfiguration]: https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.DashManifestConfiguration +[Shaka Player Embedded]: https://github.com/google/shaka-player-embedded [StreamingConfiguration]: https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.StreamingConfiguration [auth]: https://shaka-player-demo.appspot.com/docs/api/tutorial-license-server-auth.html [buffering]: https://shaka-player-demo.appspot.com/docs/api/tutorial-network-and-buffering-config.html