video-dev / hls.js

HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
https://hlsjs.video-dev.org/demo
Other
14.92k stars 2.58k forks source link

iOS13: Safari for iPad to support Media Source Extensions. #2267

Closed phillipseamore closed 4 years ago

phillipseamore commented 5 years ago

Noticed this in the Safari 13 Beta Release Notes:

Anyone with an iPad running iOS13 beta done some testing?

johnBartos commented 5 years ago

@phillipseamore I don't have an iPad with iOS 13 so I have not tested it. I expect that it works similarly to Safari on MacOS

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

sunnybear commented 5 years ago

Confirm this issue, desktop and mobile work differently

itsjamie commented 5 years ago

@sunnybear in what way does it function differently on an iPad running iOS 13 than Safari using MSE?

sunnybear commented 5 years ago

I will write more info. But now we have not working hls.js on safari 13 iOS 13 iphone. Working everywhere else, including macos13 and ios12. Trying to reproduce, it seems isSupported works correctly - and fails on iOS.

sunnybear commented 5 years ago

Sorry to confuse, but actually isSupported works correctly for iOS, native player fallback also works correctly. So no issues for us with iOS 13 and hls.js

mattcwebster commented 5 years ago

do you guys know when apple is planning to support Media Source extensions for IOS Safari and Chrome on Mobile. Have a project that's dependent on using this wonderful API.

sunnybear commented 5 years ago

do you guys know when apple is planning to support Media Source extensions for IOS Safari and Chrome on Mobile. Have a project that's dependent on using this wonderful API.

you can use canvas + websockets, this is supported on iOS

mattcwebster commented 5 years ago

@sunnybear can you explain in more detail? Does this have similar functionality to MSE. I'm making use of the MediaSource.AddSourceBuffer() functionality to use for a live streaming type of scenario. Would be very interesting if there's another way to have live stream capabilities with what you mentioned.

Problem is once you add a standard src to video tag, you can't change it... so if you have a file that's getting bigger on the server side, that original video src is stagnant. Would love your guys input to this problem.

sunnybear commented 5 years ago

Quite similar but you need websocket server to push correct chunks to client (instead of standard TS). And play video through canvas element (this is a bit different from putting blob to video :) Some media servers use this technology, but we haven't implemented yet.

jonnyijapan commented 5 years ago

Are you talking about iPadOS 13? Cause the name of the OS changed as you know. I do have an iPad running iPadOS 13 nearby so I could help with testing if needed.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

danielehrhardt commented 4 years ago

Is there a Fallback to Support iOS 13? on iPhones?

OrenMe commented 4 years ago

@danielehrhardt you should use the isSupported api and if not, like in iOS for example, fallback to native HTML5 video tag, if supported at all, as it is on iOS.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

robwalch commented 4 years ago

Closing this issue. Mac and iPadOS Safari behave the same with regards to MSE.

There may be some differences in how hls.js behaves when Safari on iPad is not using the mac useragent. Not tackling that here.

If you experience issues using hls.js with Safari on Mac or iPad please file a bug report.