-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hls video not playing on iOS #699
Comments
Hi there, const config = {
file: {
forceHLS: !isSafari,
forceVideo: true,
hlsVersion: '0.12.4',
attributes: {
poster: feed && feed.actionUrl && feed.actionUrl.image,
disablePictureInPicture: true
}
}
}``` |
Great, thanks! I've been using video.js previously and if I remember correctly it checks this by itself. @cookpete Maybe good idea to include or state this above example in the docs to avoid confusion? :) Thanks for a great video player! |
There is already a crude check for iOS which prevents I'm assuming this problem occurred because your URL changed and could no longer be parsed as a HLS stream. |
Hi guys, I wonder if someone can give me an idea to solve my problem. I'm using HLS streaming in my app and faced this issue (hsl not working in IOS). The problem is that I'm using |
Facing the same issue as @mrcportillo. Any guidance on how to tackle this would be really appreciated. 😇 |
I solved this issue a while ago using ONLY query params, as header params are never to be trusted with HLS, for example:
For the initial video, on my backend, I retrieve the playlist from S3, and then sign each segment, sort of like "if end lines with .m3u8 add a ?auth="
And finally I also sign all chunks using AWS Cloudfront tokens (this depends where you are hosting your video). But in essence, everything relies on using only authentication via query params. |
@CanTheAlmighty Can you please elaborate more? I am trying to exactly play hls using cloudfornt signed url. Everything works perfectly on Windows and Android but fails on iOS. This code works everywhere beside iOS
Do you just append the token to the url and do not setup xhr?
I tried and didnt work for me? |
@pedramp20 the thing with ios is that doesn't use hls.js but his own HLS implementation ignoring whatever configuration you are passing through react-player to hls.js. I think what @CanTheAlmighty is trying to say is to implement something like this https://azure.microsoft.com/es-es/blog/how-to-make-token-authorized-aes-encrypted-hls-stream-working-in-safari/ |
Hi there,
|
Autoplay is disabled in most of the new age browsers, It will now work in iOS |
Hi @cookpete , we are trying to play singed url using react player but in the IOS things are not same, we faced same issue above, |
@Sundaram1911 Check out #1560 |
This is likely a bit late for @pedramp20, but if like me, you came across this thread because you're having trouble with using CloudFront signed URLs for HLS on iOS this gist may help. |
this is not working. I don't understand why this issue is closed? |
Current Behavior
Struggling with getting HLS content from Vimeo to work. As it is now, it works perfectly on desktop in both Safari and Chrome. But on iOS the video won't load and there's no errors in the console. I've tried using the HLS stream available on your demo site, but to no avail either. Surprisingly I am able to use HLS on your demo on my phone.
onReady is not triggered on iOS.
Updated to latest version of react-player, same issue.
Tried using newest version of hls.js, same issue.
I've been working on this project for some time and have not seen this issue before. I did however switch from selfhosted mp4 to HLS from Vimeo on my last stint on the project, so it might have been there all the time. Only tested on desktop afaik.
Expected Behavior
Media should play
Reduced test case
https://heuristic-lewin-2f590c.netlify.com/
ReactPlayer implementation
The text was updated successfully, but these errors were encountered: